X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fbfd.c;h=6c9e92027542aceeb5c423a336f686e19c5af101;hb=fd76a6f94338b668175336434b156827458b5e7d;hp=7da6fd989f06b6de348d37d2481a3ed7b46d1226;hpb=69fc54f47bbc35e81bfe2e38e57f5dcfd9858df4;p=sliver-openvswitch.git diff --git a/lib/bfd.c b/lib/bfd.c index 7da6fd989..6c9e92027 100644 --- a/lib/bfd.c +++ b/lib/bfd.c @@ -39,6 +39,7 @@ #include "random.h" #include "smap.h" #include "timeval.h" +#include "unaligned.h" #include "unixctl.h" #include "util.h" #include "vlog.h" @@ -536,8 +537,9 @@ bfd_put_packet(struct bfd *bfd, struct ofpbuf *p, ip->ip_ttl = MAXTTL; ip->ip_tos = IPTOS_LOWDELAY | IPTOS_THROUGHPUT; ip->ip_proto = IPPROTO_UDP; - ip->ip_src = htonl(0xA9FE0100); /* 169.254.1.0 Link Local. */ - ip->ip_dst = htonl(0xA9FE0101); /* 169.254.1.1 Link Local. */ + /* Use link local addresses: */ + put_16aligned_be32(&ip->ip_src, htonl(0xA9FE0100)); /* 169.254.1.0. */ + put_16aligned_be32(&ip->ip_dst, htonl(0xA9FE0101)); /* 169.254.1.1. */ ip->ip_csum = csum(ip, sizeof *ip); udp = ofpbuf_put_zeros(p, sizeof *udp);