Lines Matching refs:srh
56 struct ip6_srh_t *srh; in get_srh() local
77 srh = cursor_advance(cursor, sizeof(*srh)); in get_srh()
78 if ((void *)srh + sizeof(*srh) > data_end) in get_srh()
81 if (srh->type != 4) in get_srh()
84 return srh; in get_srh()
118 struct ip6_srh_t *srh, in is_valid_tlv_boundary() argument
127 srh_off = (char *)srh - (char *)(long)skb->data; in is_valid_tlv_boundary()
129 cur_off = srh_off + sizeof(*srh) + in is_valid_tlv_boundary()
130 sizeof(struct ip6_addr_t) * (srh->first_segment + 1); in is_valid_tlv_boundary()
144 if (cur_off >= srh_off + ((srh->hdrlen + 1) << 3)) in is_valid_tlv_boundary()
180 struct ip6_srh_t *srh, uint32_t tlv_off, in add_tlv() argument
183 uint32_t srh_off = (char *)srh - (char *)(long)skb->data; in add_tlv()
196 err = is_valid_tlv_boundary(skb, srh, &tlv_off, &pad_size, &pad_off); in add_tlv()
230 struct ip6_srh_t *srh = get_srh(skb); in __add_egr_x() local
235 if (srh == NULL) in __add_egr_x()
241 err = add_tlv(skb, srh, (srh->hdrlen+1) << 3, in __add_egr_x()