From: Ben Pfaff Date: Thu, 15 Jul 2010 23:02:46 +0000 (-0700) Subject: learning-switch: Reserved addresses are destinations, not sources. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a003f6067d6a1f06841e5d1567b942af98b5fcc;p=openvswitch learning-switch: Reserved addresses are destinations, not sources. A switch is not supposed to forward packets directed to MAC addresses 01:80:c2:00:00:0x. This code was instead dropping packets *from* those addresses. (This code is only used by ovs-controller, so the bug is not a big deal.) --- diff --git a/lib/learning-switch.c b/lib/learning-switch.c index 7eb9e1c2..413a70fd 100644 --- a/lib/learning-switch.c +++ b/lib/learning-switch.c @@ -410,7 +410,8 @@ process_packet_in(struct lswitch *sw, struct rconn *rconn, void *opi_) } } - if (eth_addr_is_reserved(flow.dl_src)) { + /* Drop frames for reserved multicast addresses. */ + if (eth_addr_is_reserved(flow.dl_dst)) { goto drop_it; }