iph->tos &= ~INET_ECN_MASK;
}
-#define ip6_get_dsfield(iph) ((ntohs(*(u16*)(iph)) >> 4) & 0xFF)
-
struct ipv6hdr;
static inline void IP6_ECN_set_ce(struct ipv6hdr *iph)
{
- if (INET_ECN_is_not_ect(ip6_get_dsfield(iph)))
+ if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
return;
*(u32*)iph |= htonl(INET_ECN_CE << 20);
}
#include <net/ipip.h>
#include <net/arp.h>
#include <net/checksum.h>
+#include <net/dsfield.h>
#include <net/inet_ecn.h>
#include <net/xfrm.h>
if (skb->protocol == htons(ETH_P_IP))
inner = old_iph->tos;
else if (skb->protocol == htons(ETH_P_IPV6))
- inner = ip6_get_dsfield((struct ipv6hdr*)old_iph);
+ inner = ipv6_get_dsfield((struct ipv6hdr *)old_iph);
return INET_ECN_encapsulate(tos, inner);
}
#include <net/ipip.h>
#include <net/inet_ecn.h>
#include <net/xfrm.h>
+#include <net/dsfield.h>
/*
This version of net/ipv6/sit.c is cloned of net/ipv4/ip_gre.c
iph->frag_off = 0;
iph->protocol = IPPROTO_IPV6;
- iph->tos = INET_ECN_encapsulate(tos, ip6_get_dsfield(iph6));
+ iph->tos = INET_ECN_encapsulate(tos, ipv6_get_dsfield(iph6));
iph->daddr = rt->rt_dst;
iph->saddr = rt->rt_src;
#include <net/xfrm.h>
#include <net/addrconf.h>
#include <net/snmp.h>
+#include <net/dsfield.h>
#include <asm/uaccess.h>
skb->len - th->doff*4);
TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq);
TCP_SKB_CB(skb)->when = 0;
- TCP_SKB_CB(skb)->flags = ip6_get_dsfield(skb->nh.ipv6h);
+ TCP_SKB_CB(skb)->flags = ipv6_get_dsfield(skb->nh.ipv6h);
TCP_SKB_CB(skb)->sacked = 0;
sk = __tcp_v6_lookup(&skb->nh.ipv6h->saddr, th->source,
#include <linux/module.h>
#include <linux/string.h>
+#include <net/dsfield.h>
#include <net/inet_ecn.h>
#include <net/ip.h>
#include <net/ipv6.h>
struct ipv6hdr *outer_iph = skb->nh.ipv6h;
struct ipv6hdr *inner_iph = skb->h.ipv6h;
- if (INET_ECN_is_ce(ip6_get_dsfield(outer_iph)))
+ if (INET_ECN_is_ce(ipv6_get_dsfield(outer_iph)))
IP6_ECN_set_ce(inner_iph);
}
#include <net/sock.h>
#include <net/pkt_sched.h>
#include <net/inet_ecn.h>
+#include <net/dsfield.h>
/* Random Early Detection (RED) algorithm.
IP_ECN_set_ce(skb->nh.iph);
return 1;
case __constant_htons(ETH_P_IPV6):
- if (INET_ECN_is_not_ect(ip6_get_dsfield(skb->nh.ipv6h)))
+ if (INET_ECN_is_not_ect(ipv6_get_dsfield(skb->nh.ipv6h)))
return 0;
IP6_ECN_set_ce(skb->nh.ipv6h);
return 1;