Lines Matching defs:isrh
133 struct ipv6_sr_hdr *isrh;
178 isrh = (void *)hdr + sizeof(*hdr);
179 memcpy(isrh, osrh, hdrlen);
181 isrh->nexthdr = proto;
183 hdr->daddr = isrh->segments[isrh->first_segment];
187 if (sr_has_hmac(isrh)) {
188 err = seg6_push_hmac(net, &hdr->saddr, isrh);
212 struct ipv6_sr_hdr *isrh;
273 isrh = (void *)hdr + sizeof(struct ipv6hdr);
280 memcpy(isrh, osrh, hdrlen);
287 memcpy(isrh, osrh, red_tlv_offset);
292 void *d = (void *)isrh + red_tlv_offset;
297 --isrh->first_segment;
298 isrh->hdrlen -= 2;
301 isrh->nexthdr = proto;
305 if (unlikely(!skip_srh && sr_has_hmac(isrh))) {
306 err = seg6_push_hmac(net, &hdr->saddr, isrh);
324 struct ipv6_sr_hdr *isrh;
347 isrh = (void *)hdr + sizeof(*hdr);
348 memcpy(isrh, osrh, hdrlen);
350 isrh->nexthdr = hdr->nexthdr;
353 isrh->segments[0] = hdr->daddr;
354 hdr->daddr = isrh->segments[isrh->first_segment];
357 if (sr_has_hmac(isrh)) {
360 err = seg6_push_hmac(net, &hdr->saddr, isrh);