diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-06-29 03:50:49 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-06-29 03:50:49 +0200 |
commit | 61ea3951a2ecd0d439cb772d566f43e544c8ba48 (patch) | |
tree | 1662320fd1967d4f57ca5eb1daeaa44724e204ac /pimd/pim_sock.h | |
parent | Merge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quag... (diff) | |
download | frr-61ea3951a2ecd0d439cb772d566f43e544c8ba48.tar.xz frr-61ea3951a2ecd0d439cb772d566f43e544c8ba48.zip |
pimd: Bind pim sockets to interface they are associated with
When pim is receiving packets, each interface's fd is receiving
packets for all interfaces. Modify the code to bind the
pim interface sockets to the interface they were created for.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_sock.h')
-rw-r--r-- | pimd/pim_sock.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pimd/pim_sock.h b/pimd/pim_sock.h index cfe39ad1e..9a9b64a4a 100644 --- a/pimd/pim_sock.h +++ b/pimd/pim_sock.h @@ -36,9 +36,10 @@ #define PIM_SOCK_ERR_NONBLOCK_GETFL (-8) /* Get O_NONBLOCK */ #define PIM_SOCK_ERR_NONBLOCK_SETFL (-9) /* Set O_NONBLOCK */ #define PIM_SOCK_ERR_NAME (-10) /* Socket name (getsockname) */ +#define PIM_SOCK_ERR_BIND (-11) /* Can't bind to interface */ int pim_socket_raw(int protocol); -int pim_socket_mcast(int protocol, struct in_addr ifaddr, int loop); +int pim_socket_mcast(int protocol, struct in_addr ifaddr, int ifindex, int loop); int pim_socket_join(int fd, struct in_addr group, struct in_addr ifaddr, int ifindex); int pim_socket_join_source(int fd, int ifindex, |