Lines Matching defs:rr
255 do_pco(struct icmp6_router_renum *rr, int len, struct rr_pco_match *rpm)
290 if ((rr->rr_flags & ICMP6_RR_FLAGS_FORCEAPPLY) == 0 &&
312 do_rr(int len, struct icmp6_router_renum *rr)
317 lim = (char *)rr + len;
318 cp = (char *)(rr + 1);
337 if (do_pco(rr, rpmlen, rpm)) {
355 rr_command_check(int len, struct icmp6_router_renum *rr, struct in6_addr *from,
360 /* omit rr minimal length check. hope kernel have done it. */
379 if (rro.rro_seqnum > rr->rr_seqnum) {
382 __func__, (u_int32_t)ntohl(rr->rr_seqnum),
386 if (rro.rro_seqnum == rr->rr_seqnum &&
387 (rr->rr_flags & ICMP6_RR_FLAGS_TEST) == 0 &&
388 RR_ISSET_SEGNUM(rro.rro_segnum_bits, rr->rr_segnum)) {
389 if ((rr->rr_flags & ICMP6_RR_FLAGS_REQRESULT) != 0)
392 __func__, rr->rr_segnum, inet_ntop(AF_INET6, from,
398 if (rro.rro_seqnum != rr->rr_seqnum) {
405 rro.rro_seqnum = rr->rr_seqnum;
411 rr_command_input(int len, struct icmp6_router_renum *rr,
415 if (rr_command_check(len, rr, from, dst))
417 if ((rr->rr_flags & (ICMP6_RR_FLAGS_TEST|ICMP6_RR_FLAGS_REQRESULT)) ==
422 if (do_rr(len, rr))
426 RR_SET_SEGNUM(rro.rro_segnum_bits, rr->rr_segnum);
436 rr_input(int len, struct icmp6_router_renum *rr, struct in6_pktinfo *pi,
483 switch (rr->rr_code) {
485 rr_command_input(len, rr, &from->sin6_addr, dst);
496 __func__, rr->rr_code);