mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 00:41:20 +00:00
Merge pull request #2758 from donaldsharp/pim_join
lib and pim silliness
This commit is contained in:
commit
429a5ad722
@ -120,7 +120,6 @@ extern vrf_id_t vrf_name_to_id(const char *);
|
||||
} else { \
|
||||
vty_out(vty, "%% VRF %s not found\n", NAME); \
|
||||
} \
|
||||
vty_out(vty, "%% VRF %s not found\n", NAME); \
|
||||
return CMD_WARNING; \
|
||||
} \
|
||||
if (vrf->vrf_id == VRF_UNKNOWN) { \
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include "pim_rp.h"
|
||||
#include "pim_nht.h"
|
||||
#include "pim_jp_agg.h"
|
||||
#include "pim_igmp_join.h"
|
||||
|
||||
static void pim_if_igmp_join_del_all(struct interface *ifp);
|
||||
static int igmp_join_sock(const char *ifname, ifindex_t ifindex,
|
||||
@ -1194,8 +1195,18 @@ static int igmp_join_sock(const char *ifname, ifindex_t ifindex,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (pim_socket_join_source(join_fd, ifindex, group_addr, source_addr,
|
||||
ifname)) {
|
||||
if (pim_igmp_join_source(join_fd, ifindex, group_addr, source_addr)) {
|
||||
char group_str[INET_ADDRSTRLEN];
|
||||
char source_str[INET_ADDRSTRLEN];
|
||||
pim_inet4_dump("<grp?>", group_addr, group_str,
|
||||
sizeof(group_str));
|
||||
pim_inet4_dump("<src?>", source_addr, source_str,
|
||||
sizeof(source_str));
|
||||
zlog_warn(
|
||||
"%s: setsockopt(fd=%d) failure for IGMP group %s source %s ifindex %d on interface %s: errno=%d: %s",
|
||||
__PRETTY_FUNCTION__, join_fd, group_str, source_str,
|
||||
ifindex, ifname, errno, safe_strerror(errno));
|
||||
|
||||
close(join_fd);
|
||||
return -2;
|
||||
}
|
||||
@ -1219,6 +1230,7 @@ static struct igmp_join *igmp_join_new(struct interface *ifp,
|
||||
if (join_fd < 0) {
|
||||
char group_str[INET_ADDRSTRLEN];
|
||||
char source_str[INET_ADDRSTRLEN];
|
||||
|
||||
pim_inet4_dump("<grp?>", group_addr, group_str,
|
||||
sizeof(group_str));
|
||||
pim_inet4_dump("<src?>", source_addr, source_str,
|
||||
|
@ -60,8 +60,6 @@ static int pim_igmp_join_source(int fd, ifindex_t ifindex,
|
||||
|
||||
return setsockopt(fd, SOL_IP, MCAST_JOIN_SOURCE_GROUP, &req,
|
||||
sizeof(req));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* PIM_IGMP_JOIN_H */
|
||||
|
@ -38,7 +38,6 @@
|
||||
#include "pim_mroute.h"
|
||||
#include "pim_sock.h"
|
||||
#include "pim_str.h"
|
||||
#include "pim_igmp_join.h"
|
||||
|
||||
/* GLOBAL VARS */
|
||||
|
||||
@ -322,26 +321,6 @@ int pim_socket_join(int fd, struct in_addr group, struct in_addr ifaddr,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pim_socket_join_source(int fd, ifindex_t ifindex, struct in_addr group_addr,
|
||||
struct in_addr source_addr, const char *ifname)
|
||||
{
|
||||
if (pim_igmp_join_source(fd, ifindex, group_addr, source_addr)) {
|
||||
char group_str[INET_ADDRSTRLEN];
|
||||
char source_str[INET_ADDRSTRLEN];
|
||||
pim_inet4_dump("<grp?>", group_addr, group_str,
|
||||
sizeof(group_str));
|
||||
pim_inet4_dump("<src?>", source_addr, source_str,
|
||||
sizeof(source_str));
|
||||
zlog_warn(
|
||||
"%s: setsockopt(fd=%d) failure for IGMP group %s source %s ifindex %d on interface %s: errno=%d: %s",
|
||||
__PRETTY_FUNCTION__, fd, group_str, source_str, ifindex,
|
||||
ifname, errno, safe_strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pim_socket_recvfromto(int fd, uint8_t *buf, size_t len,
|
||||
struct sockaddr_in *from, socklen_t *fromlen,
|
||||
struct sockaddr_in *to, socklen_t *tolen,
|
||||
|
@ -42,8 +42,6 @@ int pim_socket_mcast(int protocol, struct in_addr ifaddr, struct interface *ifp,
|
||||
uint8_t loop);
|
||||
int pim_socket_join(int fd, struct in_addr group, struct in_addr ifaddr,
|
||||
ifindex_t ifindex);
|
||||
int pim_socket_join_source(int fd, ifindex_t ifindex, struct in_addr group_addr,
|
||||
struct in_addr source_addr, const char *ifname);
|
||||
int pim_socket_recvfromto(int fd, uint8_t *buf, size_t len,
|
||||
struct sockaddr_in *from, socklen_t *fromlen,
|
||||
struct sockaddr_in *to, socklen_t *tolen,
|
||||
|
Loading…
Reference in New Issue
Block a user