Lines Matching refs:sel
444 void xfrm_selector_print(struct xfrm_selector *sel, __u16 family, in xfrm_selector_print() argument
450 f = sel->family; in xfrm_selector_print()
460 fprintf(fp, "src %s/%u ", rt_addr_n2a(f, sizeof(sel->saddr), in xfrm_selector_print()
461 &sel->saddr, abuf, sizeof(abuf)), in xfrm_selector_print()
462 sel->prefixlen_s); in xfrm_selector_print()
465 fprintf(fp, "dst %s/%u ", rt_addr_n2a(f, sizeof(sel->daddr), in xfrm_selector_print()
466 &sel->daddr, abuf, sizeof(abuf)), in xfrm_selector_print()
467 sel->prefixlen_d); in xfrm_selector_print()
469 if (sel->proto) in xfrm_selector_print()
470 fprintf(fp, "proto %s ", strxf_proto(sel->proto)); in xfrm_selector_print()
471 switch (sel->proto) { in xfrm_selector_print()
477 if (sel->sport_mask) in xfrm_selector_print()
478 fprintf(fp, "sport %u ", ntohs(sel->sport)); in xfrm_selector_print()
479 if (sel->dport_mask) in xfrm_selector_print()
480 fprintf(fp, "dport %u ", ntohs(sel->dport)); in xfrm_selector_print()
485 if (sel->sport_mask) in xfrm_selector_print()
486 fprintf(fp, "type %u ", ntohs(sel->sport)); in xfrm_selector_print()
487 if (sel->dport_mask) in xfrm_selector_print()
488 fprintf(fp, "code %u ", ntohs(sel->dport)); in xfrm_selector_print()
491 if (sel->sport_mask || sel->dport_mask) in xfrm_selector_print()
493 (((__u32)ntohs(sel->sport)) << 16) + in xfrm_selector_print()
494 ntohs(sel->dport)); in xfrm_selector_print()
497 if (sel->sport_mask) in xfrm_selector_print()
498 fprintf(fp, "type %u ", ntohs(sel->sport)); in xfrm_selector_print()
499 if (sel->dport_mask) { in xfrm_selector_print()
501 fprintf(fp, "(dport) 0x%.4x ", sel->dport); in xfrm_selector_print()
506 if (sel->ifindex > 0) in xfrm_selector_print()
507 fprintf(fp, "dev %s ", ll_index_to_name(sel->ifindex)); in xfrm_selector_print()
510 fprintf(fp, "uid %u", sel->user); in xfrm_selector_print()
870 if (!xfrm_selector_iszero(&xsinfo->sel)) { in xfrm_state_info_print()
876 xfrm_selector_print(&xsinfo->sel, xsinfo->family, fp, sbuf); in xfrm_state_info_print()
907 xfrm_selector_print(&xpinfo->sel, preferred_family, fp, title); in xfrm_policy_info_print()
998 xfrm_xfrma_print(tb, xpinfo->sel.family, fp, buf); in xfrm_policy_info_print()
1145 static int xfrm_selector_upspec_parse(struct xfrm_selector *sel, in xfrm_selector_upspec_parse() argument
1174 sel->proto = upspec; in xfrm_selector_upspec_parse()
1183 if (get_u16(&sel->sport, *argv, 0)) in xfrm_selector_upspec_parse()
1185 sel->sport = htons(sel->sport); in xfrm_selector_upspec_parse()
1186 if (sel->sport) in xfrm_selector_upspec_parse()
1187 sel->sport_mask = ~((__u16)0); in xfrm_selector_upspec_parse()
1196 if (get_u16(&sel->dport, *argv, 0)) in xfrm_selector_upspec_parse()
1198 sel->dport = htons(sel->dport); in xfrm_selector_upspec_parse()
1199 if (sel->dport) in xfrm_selector_upspec_parse()
1200 sel->dport_mask = ~((__u16)0); in xfrm_selector_upspec_parse()
1209 if (get_u16(&sel->sport, *argv, 0) || in xfrm_selector_upspec_parse()
1210 (sel->sport & ~((__u16)0xff))) in xfrm_selector_upspec_parse()
1212 sel->sport = htons(sel->sport); in xfrm_selector_upspec_parse()
1213 sel->sport_mask = ~((__u16)0); in xfrm_selector_upspec_parse()
1223 if (get_u16(&sel->dport, *argv, 0) || in xfrm_selector_upspec_parse()
1224 (sel->dport & ~((__u16)0xff))) in xfrm_selector_upspec_parse()
1226 sel->dport = htons(sel->dport); in xfrm_selector_upspec_parse()
1227 sel->dport_mask = ~((__u16)0); in xfrm_selector_upspec_parse()
1247 sel->sport = htons(uval >> 16); in xfrm_selector_upspec_parse()
1248 sel->dport = htons(uval & 0xffff); in xfrm_selector_upspec_parse()
1249 sel->sport_mask = ~((__u16)0); in xfrm_selector_upspec_parse()
1250 sel->dport_mask = ~((__u16)0); in xfrm_selector_upspec_parse()
1266 switch (sel->proto) { in xfrm_selector_upspec_parse()
1273 fprintf(stderr, "\"sport\" and \"dport\" are invalid with proto=%s\n", strxf_proto(sel->proto)); in xfrm_selector_upspec_parse()
1278 switch (sel->proto) { in xfrm_selector_upspec_parse()
1284 fprintf(stderr, "\"type\" and \"code\" are invalid with proto=%s\n", strxf_proto(sel->proto)); in xfrm_selector_upspec_parse()
1289 switch (sel->proto) { in xfrm_selector_upspec_parse()
1293 fprintf(stderr, "\"key\" is invalid with proto=%s\n", strxf_proto(sel->proto)); in xfrm_selector_upspec_parse()
1304 int xfrm_selector_parse(struct xfrm_selector *sel, int *argcp, char ***argvp) in xfrm_selector_parse() argument
1322 sel->family = src.family; in xfrm_selector_parse()
1324 memcpy(&sel->saddr, &src.data, sizeof(sel->saddr)); in xfrm_selector_parse()
1325 sel->prefixlen_s = src.bitlen; in xfrm_selector_parse()
1335 sel->family = dst.family; in xfrm_selector_parse()
1337 memcpy(&sel->daddr, &dst.data, sizeof(sel->daddr)); in xfrm_selector_parse()
1338 sel->prefixlen_d = dst.bitlen; in xfrm_selector_parse()
1354 sel->ifindex = ifindex; in xfrm_selector_parse()
1364 xfrm_selector_upspec_parse(sel, &argc, &argv); in xfrm_selector_parse()