diff options
| author | Quentin Young <qlyoung@cumulusnetworks.com> | 2019-01-07 19:02:53 +0000 | 
|---|---|---|
| committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2019-05-17 00:27:08 +0000 | 
| commit | dad18a2fd76a8bd30dff5d1fa030a69962349b85 (patch) | |
| tree | 7d192f9e41a4f1047d5825e91c953fb454dedfba /vrrpd/vrrp_packet.c | |
| parent | bb54fa3a0035e29aa97fc6638d71b8f57fe366e4 (diff) | |
vrrpd: add initial macvlan support
* Search for macvlan interfaces with the appropriate name and MAC
  address when starting up a new VRRP instance
* Split VRRP socket into two; one for Tx, one for Rx
* Bind Tx socket to the macvlan subinterface so our VRRP advertisements
  go out with the correct MAC address
* Send ARP requests from this macvlan subinterface
* Improve error messaging
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'vrrpd/vrrp_packet.c')
| -rw-r--r-- | vrrpd/vrrp_packet.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/vrrpd/vrrp_packet.c b/vrrpd/vrrp_packet.c index d305081574..5010b4701d 100644 --- a/vrrpd/vrrp_packet.c +++ b/vrrpd/vrrp_packet.c @@ -149,7 +149,9 @@ ssize_t vrrp_parse_datagram(int family, struct msghdr *m, size_t read,  			ntohs(ip->ip_len), read);  		/* TTL check */ -		VRRP_PKT_VCHECK(ip->ip_ttl == 255, "IPv4 TTL is not 255"); +		VRRP_PKT_VCHECK(ip->ip_ttl == 255, +				"IPv4 TTL is %" PRIu8 "; should be 255", +				ip->ip_ttl);  		*pkt = (struct vrrp_pkt *)(buf + (ip->ip_hl << 2));  		pktsize = read - (ip->ip_hl << 2); @@ -167,7 +169,9 @@ ssize_t vrrp_parse_datagram(int family, struct msghdr *m, size_t read,  		VRRP_PKT_VCHECK(!!c, "IPv6 Hop Limit not received");  		uint8_t *hoplimit = CMSG_DATA(c); -		VRRP_PKT_VCHECK(*hoplimit == 255, "IPv6 Hop Limit is not 255"); +		VRRP_PKT_VCHECK(*hoplimit == 255, +				"IPv6 Hop Limit is %" PRIu8 "; should be 255", +				*hoplimit);  		*pkt = (struct vrrp_pkt *)buf;  		pktsize = read;  | 
