X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fpackets.h;h=f0ccfdb9e90f2b2be16af1a67d14d71072d9a936;hb=54e05b5f6f7d3504dc74a73dcf9707cbdb28d1d1;hp=d12cc0403e417eb62222e25b41c281dfa8ebddae;hpb=eaa71334348aa0d99abf5588e17b3e55d0db28ce;p=openvswitch diff --git a/lib/packets.h b/lib/packets.h index d12cc040..f0ccfdb9 100644 --- a/lib/packets.h +++ b/lib/packets.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009 Nicira Networks. + * Copyright (c) 2008, 2009, 2010 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + #ifndef PACKETS_H #define PACKETS_H 1 @@ -23,9 +24,11 @@ #include "random.h" #include "util.h" +struct ofpbuf; + #define ETH_ADDR_LEN 6 -static const uint8_t eth_addr_broadcast[ETH_ADDR_LEN] UNUSED +static const uint8_t eth_addr_broadcast[ETH_ADDR_LEN] OVS_UNUSED = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; static inline bool eth_addr_is_broadcast(const uint8_t ea[6]) @@ -98,6 +101,10 @@ static inline bool eth_addr_is_reserved(const uint8_t ea[ETH_ADDR_LEN]) && (ea[5] & 0xf0) == 0x00); } +void compose_benign_packet(struct ofpbuf *, const char *tag, + uint16_t snap_type, + const uint8_t eth_src[ETH_ADDR_LEN]); + /* Example: * * uint8_t mac[ETH_ADDR_LEN]; @@ -172,7 +179,10 @@ struct llc_snap_header { BUILD_ASSERT_DECL(LLC_SNAP_HEADER_LEN == sizeof(struct llc_snap_header)); #define VLAN_VID_MASK 0x0fff +#define VLAN_VID_SHIFT 0 + #define VLAN_PCP_MASK 0xe000 +#define VLAN_PCP_SHIFT 13 #define VLAN_HEADER_LEN 4 struct vlan_header {