• Home
  • Raw
  • Download

Lines Matching refs:hdr

129 	struct ipv6hdr *hdr, *inner_hdr;  in seg6_do_srh_encap()  local
135 tot_len = hdrlen + sizeof(*hdr); in seg6_do_srh_encap()
147 hdr = ipv6_hdr(skb); in seg6_do_srh_encap()
155 ip6_flow_hdr(hdr, ip6_tclass(ip6_flowinfo(inner_hdr)), in seg6_do_srh_encap()
157 hdr->hop_limit = inner_hdr->hop_limit; in seg6_do_srh_encap()
159 ip6_flow_hdr(hdr, 0, flowlabel); in seg6_do_srh_encap()
160 hdr->hop_limit = ip6_dst_hoplimit(skb_dst(skb)); in seg6_do_srh_encap()
173 hdr->nexthdr = NEXTHDR_ROUTING; in seg6_do_srh_encap()
175 isrh = (void *)hdr + sizeof(*hdr); in seg6_do_srh_encap()
180 hdr->daddr = isrh->segments[isrh->first_segment]; in seg6_do_srh_encap()
181 set_tun_src(net, dst->dev, &hdr->daddr, &hdr->saddr); in seg6_do_srh_encap()
185 err = seg6_push_hmac(net, &hdr->saddr, isrh); in seg6_do_srh_encap()
191 hdr->payload_len = htons(skb->len - sizeof(struct ipv6hdr)); in seg6_do_srh_encap()
193 skb_postpush_rcsum(skb, hdr, tot_len); in seg6_do_srh_encap()
202 struct ipv6hdr *hdr, *oldhdr; in seg6_do_srh_inline() local
222 hdr = ipv6_hdr(skb); in seg6_do_srh_inline()
224 memmove(hdr, oldhdr, sizeof(*hdr)); in seg6_do_srh_inline()
226 isrh = (void *)hdr + sizeof(*hdr); in seg6_do_srh_inline()
229 isrh->nexthdr = hdr->nexthdr; in seg6_do_srh_inline()
230 hdr->nexthdr = NEXTHDR_ROUTING; in seg6_do_srh_inline()
232 isrh->segments[0] = hdr->daddr; in seg6_do_srh_inline()
233 hdr->daddr = isrh->segments[isrh->first_segment]; in seg6_do_srh_inline()
239 err = seg6_push_hmac(net, &hdr->saddr, isrh); in seg6_do_srh_inline()
245 hdr->payload_len = htons(skb->len - sizeof(struct ipv6hdr)); in seg6_do_srh_inline()
247 skb_postpush_rcsum(skb, hdr, sizeof(struct ipv6hdr) + hdrlen); in seg6_do_srh_inline()
372 struct ipv6hdr *hdr = ipv6_hdr(skb); in seg6_output() local
376 fl6.daddr = hdr->daddr; in seg6_output()
377 fl6.saddr = hdr->saddr; in seg6_output()
378 fl6.flowlabel = ip6_flowinfo(hdr); in seg6_output()
380 fl6.flowi6_proto = hdr->nexthdr; in seg6_output()