diff options
author | Pravin B Shelar <pshelar@ovn.org> | 2016-05-17 17:35:28 -0700 |
---|---|---|
committer | Pravin B Shelar <pshelar@ovn.org> | 2016-05-18 19:39:18 -0700 |
commit | 1bc3f0ed2615aa2475e4c92339253a6092746ad4 (patch) | |
tree | ee1beb41b3919466a114e45b8c81804208af1888 /lib/packets.h | |
parent | 66525ef3b8d604e47ca0bd1a7510b1ae9f3eb5ba (diff) | |
download | openvswitch-1bc3f0ed2615aa2475e4c92339253a6092746ad4.tar.gz |
tunnel: Add IP ECN related functions.
Set and get functions for IP explicit congestion notification flag.
These function would be used by STT reassembly code.
Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
Acked-by: Jesse Gross <jesse@kernel.org>
Diffstat (limited to 'lib/packets.h')
-rw-r--r-- | lib/packets.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/packets.h b/lib/packets.h index 2bc85ae8f..594594053 100644 --- a/lib/packets.h +++ b/lib/packets.h @@ -584,6 +584,12 @@ char *ip_parse_cidr_len(const char *s, int *n, ovs_be32 *ip, #define IP_ECN_MASK 0x03 #define IP_DSCP_MASK 0xfc +static inline int +IP_ECN_is_ce(uint8_t dsfield) +{ + return (dsfield & IP_ECN_MASK) == IP_ECN_CE; +} + #define IP_VERSION 4 #define IP_DONT_FRAGMENT 0x4000 /* Don't fragment. */ @@ -1064,5 +1070,6 @@ void compose_arp(struct dp_packet *, uint16_t arp_op, void compose_nd(struct dp_packet *, const struct eth_addr eth_src, struct in6_addr *, struct in6_addr *); uint32_t packet_csum_pseudoheader(const struct ip_header *); +void IP_ECN_set_ce(struct dp_packet *pkt, bool is_ipv6); #endif /* packets.h */ |