Lines Matching +full:build +full:- +full:tci
8 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
10 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
20 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
22 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
24 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
35 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
37 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
43 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
45 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
47 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
49 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
52 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
54 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
56 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
124 ershdr->session_id = id & 0xff; in set_session_id()
125 ershdr->session_id_upper = (id >> 8) & 0x3; in set_session_id()
130 return (ershdr->session_id_upper << 8) + ershdr->session_id; in get_session_id()
135 ershdr->vlan = vlan & 0xff; in set_vlan()
136 ershdr->vlan_upper = (vlan >> 8) & 0xf; in set_vlan()
141 return (ershdr->vlan_upper << 8) + ershdr->vlan; in get_vlan()
146 md2->hwid = hwid & 0xf; in set_hwid()
147 md2->hwid_upper = (hwid >> 4) & 0x3; in set_hwid()
152 return (md2->hwid_upper << 4) + md2->hwid; in get_hwid()
177 struct ethhdr *eth = (struct ethhdr *)skb->data; in erspan_build_header()
182 __be16 tci; in erspan_build_header() member
188 tos = is_ipv4 ? ip_hdr(skb)->tos : in erspan_build_header()
189 (ipv6_hdr(skb)->priority << 4) + in erspan_build_header()
190 (ipv6_hdr(skb)->flow_lbl[0] >> 4); in erspan_build_header()
194 /* If mirrored packet has vlan tag, extract tci and in erspan_build_header()
197 if (eth->h_proto == htons(ETH_P_8021Q)) { in erspan_build_header()
198 qp = (struct qtag_prefix *)(skb->data + 2 * ETH_ALEN); in erspan_build_header()
199 vlan_tci = ntohs(qp->tci); in erspan_build_header()
204 ershdr = (struct erspan_base_hdr *)skb->data; in erspan_build_header()
207 /* Build base header */ in erspan_build_header()
208 ershdr->ver = ERSPAN_VERSION; in erspan_build_header()
209 ershdr->cos = tos_to_cos(tos); in erspan_build_header()
210 ershdr->en = enc_type; in erspan_build_header()
211 ershdr->t = truncate; in erspan_build_header()
215 /* Build metadata */ in erspan_build_header()
221 * 00b --> granularity = 100 microseconds
222 * 01b --> granularity = 100 nanoseconds
223 * 10b --> granularity = IEEE 1588
234 /* ERSPAN base header only has 32-bit, in erspan_get_timestamp()
241 * 00b --> Good frame with no error, or unknown integrity
242 * 01b --> Payload is a Short Frame
243 * 10b --> Payload is an Oversized Frame
244 * 11b --> Payload is a Bad Frame with CRC or Alignment Error
258 if (skb->len < ETH_ZLEN) in erspan_detect_bso()
261 if (skb->len > ETH_FRAME_LEN) in erspan_detect_bso()
271 struct ethhdr *eth = (struct ethhdr *)skb->data; in erspan_build_header_v2()
276 __be16 tci; in erspan_build_header_v2() member
284 tos = is_ipv4 ? ip_hdr(skb)->tos : in erspan_build_header_v2()
285 (ipv6_hdr(skb)->priority << 4) + in erspan_build_header_v2()
286 (ipv6_hdr(skb)->flow_lbl[0] >> 4); in erspan_build_header_v2()
289 * so only extract vlan tci field. in erspan_build_header_v2()
291 if (eth->h_proto == htons(ETH_P_8021Q)) { in erspan_build_header_v2()
292 qp = (struct qtag_prefix *)(skb->data + 2 * ETH_ALEN); in erspan_build_header_v2()
293 vlan_tci = ntohs(qp->tci); in erspan_build_header_v2()
298 ershdr = (struct erspan_base_hdr *)skb->data; in erspan_build_header_v2()
301 /* Build base header */ in erspan_build_header_v2()
302 ershdr->ver = ERSPAN_VERSION2; in erspan_build_header_v2()
303 ershdr->cos = tos_to_cos(tos); in erspan_build_header_v2()
304 ershdr->en = bso; in erspan_build_header_v2()
305 ershdr->t = truncate; in erspan_build_header_v2()
309 /* Build metadata */ in erspan_build_header_v2()
311 md2->timestamp = erspan_get_timestamp(); in erspan_build_header_v2()
312 md2->sgt = htons(sgt); in erspan_build_header_v2()
313 md2->p = 1; in erspan_build_header_v2()
314 md2->ft = 0; in erspan_build_header_v2()
315 md2->dir = direction; in erspan_build_header_v2()
316 md2->gra = gra; in erspan_build_header_v2()
317 md2->o = 0; in erspan_build_header_v2()