Lines Matching refs:outer
72 * ECN field in the outer header to ECT(0).
73 * otherwise, copy the ECN field to the outer header.
75 * (E) if the ECN field in the outer header is set to CE and the ECN
78 * and the ECN field in the outer header is set to CE, then copy CE to
82 * (I) set the ECN field to not-ECT in the outer header.
84 * (E) if the ECN field in the outer header is set to CE, drop the packet.
92 * modify outer ECN (TOS) field on ingress operation (tunnel encapsulation).
95 ip_ecn_ingress(int mode, u_int8_t *outer, const u_int8_t *inner)
98 if (!outer || !inner)
101 *outer = *inner;
106 * to the outer. otherwise, copy the ECN field.
109 *outer &= ~IPTOS_ECN_ECT1;
113 * limited-functionality: set not-ECT to the outer
115 *outer &= ~IPTOS_ECN_MASK;
127 ip_ecn_egress(int mode, const u_int8_t *outer, u_int8_t *inner)
130 if (!outer || !inner)
136 * full-functionality: if the outer is CE and the inner is
139 if ((*outer & IPTOS_ECN_MASK) == IPTOS_ECN_CE) {
147 * limited-functionality: if the outer is CE, should drop it.
150 if ((*outer & IPTOS_ECN_MASK) == IPTOS_ECN_CE)
161 ip6_ecn_ingress(int mode, u_int32_t *outer, const u_int32_t *inner)
165 if (!outer || !inner)
170 *outer &= ~htonl(0xff << 20);
171 *outer |= htonl((u_int32_t)outer8 << 20);
175 ip6_ecn_egress(int mode, const u_int32_t *outer, u_int32_t *inner)
179 if (!outer || !inner)
182 outer8 = (ntohl(*outer) >> 20) & 0xff;