diff options
author | rzalamena <rzalamena@openbsd.org> | 2016-11-21 18:19:51 +0000 |
---|---|---|
committer | rzalamena <rzalamena@openbsd.org> | 2016-11-21 18:19:51 +0000 |
commit | e56076988ac50569616f24d4fc913b92630aeac5 (patch) | |
tree | bf8b5ff2c4307cb27eb5d14e23b91745efedb188 /usr.sbin/switchd | |
parent | Test that IPv6 framents with invalid length or more-fragment bit (diff) | |
download | wireguard-openbsd-e56076988ac50569616f24d4fc913b92630aeac5.tar.xz wireguard-openbsd-e56076988ac50569616f24d4fc913b92630aeac5.zip |
Fix jumbo regress test for ofp10.c and use htonl() with OFP_PKTOUT_NO_BUFFER
for consistency.
ok reyk@
Diffstat (limited to 'usr.sbin/switchd')
-rw-r--r-- | usr.sbin/switchd/ofp10.c | 10 | ||||
-rw-r--r-- | usr.sbin/switchd/ofp13.c | 6 |
2 files changed, 8 insertions, 8 deletions
diff --git a/usr.sbin/switchd/ofp10.c b/usr.sbin/switchd/ofp10.c index dfbd758fe83..56b7dfdee25 100644 --- a/usr.sbin/switchd/ofp10.c +++ b/usr.sbin/switchd/ofp10.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ofp10.c,v 1.15 2016/11/18 20:20:19 reyk Exp $ */ +/* $OpenBSD: ofp10.c,v 1.16 2016/11/21 18:19:51 rzalamena Exp $ */ /* * Copyright (c) 2013-2016 Reyk Floeter <reyk@openbsd.org> @@ -376,7 +376,7 @@ ofp10_packet_in(struct switchd *sc, struct switch_connection *con, fm->fm_priority = 0; fm->fm_buffer_id = pin->pin_buffer_id; fm->fm_flags = htons(OFP_FLOWFLAG_SEND_FLOW_REMOVED); - if (pin->pin_buffer_id == (uint32_t)-1) + if (pin->pin_buffer_id == htonl(OFP_PKTOUT_NO_BUFFER)) addpacket = 1; } else { if ((pout = ibuf_advance(obuf, sizeof(*pout))) == NULL) @@ -387,7 +387,7 @@ ofp10_packet_in(struct switchd *sc, struct switch_connection *con, pout->pout_port = pin->pin_port; pout->pout_actions_len = htons(sizeof(*ao)); - if (pin->pin_buffer_id == (uint32_t)-1) + if (pin->pin_buffer_id == htonl(OFP_PKTOUT_NO_BUFFER)) addpacket = 1; } @@ -398,8 +398,8 @@ ofp10_packet_in(struct switchd *sc, struct switch_connection *con, ao->ao_port = htons((uint16_t)dstport); ao->ao_max_len = 0; - /* Add optional packet payload */ - if (addpacket && + /* Add optional packet payload to packet-out. */ + if (addflow == 0 && addpacket && imsg_add(obuf, pkt.pkt_buf, pkt.pkt_len) == -1) goto done; diff --git a/usr.sbin/switchd/ofp13.c b/usr.sbin/switchd/ofp13.c index f43f8c128ee..b9d8b20c234 100644 --- a/usr.sbin/switchd/ofp13.c +++ b/usr.sbin/switchd/ofp13.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ofp13.c,v 1.36 2016/11/21 17:58:24 rzalamena Exp $ */ +/* $OpenBSD: ofp13.c,v 1.37 2016/11/21 18:19:51 rzalamena Exp $ */ /* * Copyright (c) 2013-2016 Reyk Floeter <reyk@openbsd.org> @@ -1082,7 +1082,7 @@ ofp13_packet_in(struct switchd *sc, struct switch_connection *con, fm->fm_priority = 0; fm->fm_buffer_id = pin->pin_buffer_id; fm->fm_flags = htons(OFP_FLOWFLAG_SEND_FLOW_REMOVED); - if (pin->pin_buffer_id == OFP_PKTOUT_NO_BUFFER) + if (pin->pin_buffer_id == htonl(OFP_PKTOUT_NO_BUFFER)) sendbuffer = 1; /* Write flow matches to create an entry. */ @@ -1116,7 +1116,7 @@ ofp13_packet_in(struct switchd *sc, struct switch_connection *con, goto done; /* Add optional packet payload */ - if (pin->pin_buffer_id == OFP_PKTOUT_NO_BUFFER && + if (pin->pin_buffer_id == htonl(OFP_PKTOUT_NO_BUFFER) && imsg_add(obuf, pkt.pkt_buf, pkt.pkt_len) == -1) goto done; } |