]> git.proxmox.com Git - mirror_frr.git/commitdiff
pimd: Modifying in_addr to pim_addr in struct pim_interface for IPv6
authorMobashshera Rasool <mrasool@vmware.com>
Tue, 14 Dec 2021 06:31:39 +0000 (22:31 -0800)
committerMobashshera Rasool <mrasool@vmware.com>
Tue, 11 Jan 2022 05:10:29 +0000 (21:10 -0800)
Based on compiler option, pim_addr will be changed to in_addr
or in6_addr for pimd and pim6d respectively.
Reviewed-by: Sarita Patra <saritap@vmware.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
pimd/pim_iface.h
pimd/pim_macro.c
pimd/pim_macro.h
pimd/pim_pim.c

index 72168b690af5438076910f04c46e8fa7e61edd76..9213e600f9ca0b73f9050865f06e54b6efd97b5a 100644 (file)
@@ -94,16 +94,14 @@ struct pim_interface {
        uint32_t options; /* bit vector */
        ifindex_t mroute_vif_index;
        struct pim_instance *pim;
-
-       struct in_addr primary_address; /* remember addr to detect change */
+       pim_addr primary_address;       /* remember addr to detect change */
        struct list *sec_addr_list;     /* list of struct pim_secondary_addr */
-       struct in_addr update_source;   /* user can statically set the primary
+       pim_addr update_source;         /* user can statically set the primary
                                         * address of the interface */
-
-       int igmp_version;                      /* IGMP version */
-       int igmp_default_robustness_variable;  /* IGMPv3 QRV */
-       int igmp_default_query_interval;       /* IGMPv3 secs between general
-                                                 queries */
+       int igmp_version;               /* IGMP or MLD version */
+       int igmp_default_robustness_variable; /* IGMP or MLD QRV */
+       int igmp_default_query_interval; /* IGMP or MLD secs between general
+                                           queries */
        int igmp_query_max_response_time_dsec; /* IGMPv3 Max Response Time in
                                                  dsecs for general queries */
        int igmp_specific_query_max_response_time_dsec; /* IGMPv3 Max Response
@@ -144,7 +142,7 @@ struct pim_interface {
        int64_t pim_dr_election_last; /* timestamp */
        int pim_dr_election_count;
        int pim_dr_election_changes;
-       struct in_addr pim_dr_addr;
+       pim_addr pim_dr_addr;
        uint32_t pim_dr_priority;         /* config */
        int pim_dr_num_nondrpri_neighbors; /* neighbors without dr_pri */
 
index c6961d30c21ac9571787e9dd96f8b6fd664b0c9c..81ef6962de435cc85ba1c05113130d637bee3648 100644 (file)
@@ -261,7 +261,7 @@ int pim_macro_ch_could_assert_eval(const struct pim_ifchannel *ch)
     }
 */
 struct pim_assert_metric pim_macro_spt_assert_metric(const struct pim_rpf *rpf,
-                                                    struct in_addr ifaddr)
+                                                    pim_addr ifaddr)
 {
        struct pim_assert_metric metric;
 
index f310e244e889b2b17ca933c761c545443181dc96..b88a84e2d276b4543c989f2603542159f367330e 100644 (file)
@@ -33,7 +33,7 @@ int pim_macro_chisin_pim_include(const struct pim_ifchannel *ch);
 int pim_macro_chisin_joins_or_include(const struct pim_ifchannel *ch);
 int pim_macro_ch_could_assert_eval(const struct pim_ifchannel *ch);
 struct pim_assert_metric pim_macro_spt_assert_metric(const struct pim_rpf *rpf,
-                                                    struct in_addr ifaddr);
+                                                    pim_addr ifaddr);
 struct pim_assert_metric
 pim_macro_ch_my_assert_metric_eval(const struct pim_ifchannel *ch);
 int pim_macro_chisin_oiflist(const struct pim_ifchannel *ch);
index 351b906d24be84b94fb4f15a3896504e98a8d5ce..2142d9010bc4ac29963128ac238bdaf0616185b4 100644 (file)
@@ -570,8 +570,8 @@ static int pim_msg_send_frame(int fd, char *buf, size_t len,
        return 0;
 }
 
-int pim_msg_send(int fd, struct in_addr src, struct in_addr dst,
-                uint8_t *pim_msg, int pim_msg_size, const char *ifname)
+int pim_msg_send(int fd, pim_addr src, struct in_addr dst, uint8_t *pim_msg,
+                int pim_msg_size, const char *ifname)
 {
        struct sockaddr_in to;
        socklen_t tolen;