Home | History | Annotate | Download | only in ip

Lines Matching refs:xsinfo

241 		struct xfrm_usersa_info xsinfo;
262 req.n.nlmsg_len = NLMSG_LENGTH(sizeof(req.xsinfo));
265 req.xsinfo.family = preferred_family;
267 req.xsinfo.lft.soft_byte_limit = XFRM_INF;
268 req.xsinfo.lft.hard_byte_limit = XFRM_INF;
269 req.xsinfo.lft.soft_packet_limit = XFRM_INF;
270 req.xsinfo.lft.hard_packet_limit = XFRM_INF;
275 xfrm_mode_parse(&req.xsinfo.mode, &argc, &argv);
280 xfrm_reqid_parse(&req.xsinfo.reqid, &argc, &argv);
283 xfrm_seq_parse(&req.xsinfo.seq, &argc, &argv);
286 if (get_u8(&req.xsinfo.replay_window, *argv, 0))
298 xfrm_state_flag_parse(&req.xsinfo.flags, &argc, &argv);
301 xfrm_selector_parse(&req.xsinfo.sel, &argc, &argv);
304 xfrm_lifetime_cfg_parse(&req.xsinfo.lft, &argc, &argv);
464 xfrm_id_parse(&req.xsinfo.saddr, &req.xsinfo.id,
465 &req.xsinfo.family, 0, &argc, &argv);
467 preferred_family = req.xsinfo.family;
491 switch (req.xsinfo.mode) {
494 if (!xfrm_xfrmproto_is_ipsec(req.xsinfo.id.proto)) {
496 strxf_xfrmproto(req.xsinfo.id.proto));
502 if (!xfrm_xfrmproto_is_ro(req.xsinfo.id.proto)) {
504 strxf_xfrmproto(req.xsinfo.id.proto));
507 if (req.xsinfo.id.spi != 0) {
509 strxf_xfrmproto(req.xsinfo.id.proto));
518 if (!xfrm_xfrmproto_is_ipsec(req.xsinfo.id.proto)) {
520 strxf_xfrmproto(req.xsinfo.id.proto));
524 if (xfrm_xfrmproto_is_ipsec(req.xsinfo.id.proto)) {
526 strxf_xfrmproto(req.xsinfo.id.proto));
532 if (!xfrm_xfrmproto_is_ro(req.xsinfo.id.proto)) {
534 strxf_xfrmproto(req.xsinfo.id.proto));
538 if (xfrm_xfrmproto_is_ro(req.xsinfo.id.proto)) {
540 strxf_xfrmproto(req.xsinfo.id.proto));
548 if (req.xsinfo.family == AF_UNSPEC)
549 req.xsinfo.family = AF_INET;
584 req.xsinfo.lft.soft_byte_limit = XFRM_INF;
585 req.xsinfo.lft.hard_byte_limit = XFRM_INF;
586 req.xsinfo.lft.soft_packet_limit = XFRM_INF;
587 req.xsinfo.lft.hard_packet_limit = XFRM_INF;
701 static int xfrm_state_filter_match(struct xfrm_usersa_info *xsinfo)
707 if (xfrm_addr_match(&xsinfo->saddr, &filter.xsinfo.saddr,
711 if (xfrm_addr_match(&xsinfo->id.daddr, &filter.xsinfo.id.daddr,
714 if ((xsinfo->id.proto^filter.xsinfo.id.proto)&filter.id_proto_mask)
716 if ((xsinfo->id.spi^filter.xsinfo.id.spi)&filter.id_spi_mask)
718 if ((xsinfo->mode^filter.xsinfo.mode)&filter.mode_mask)
720 if ((xsinfo->reqid^filter.xsinfo.reqid)&filter.reqid_mask)
723 if ((xsinfo->flags & filter.xsinfo.flags) == 0)
735 struct xfrm_usersa_info *xsinfo = NULL;
755 xsinfo = &xexp->state;
759 xsinfo = NLMSG_DATA(n);
760 len -= NLMSG_SPACE(sizeof(*xsinfo));
768 if (xsinfo && !xfrm_state_filter_match(xsinfo))
783 rta = XFRMS_RTA(xsinfo);
794 if (RTA_PAYLOAD(tb[XFRMA_SA]) < sizeof(*xsinfo)) {
798 xsinfo = RTA_DATA(tb[XFRMA_SA]);
801 xfrm_state_info_print(xsinfo, tb, fp, NULL, NULL);
910 struct xfrm_usersa_info *xsinfo = NLMSG_DATA(n);
921 len -= NLMSG_LENGTH(sizeof(*xsinfo));
927 if (!xfrm_state_filter_match(xsinfo))
942 xsid->family = xsinfo->family;
943 memcpy(&xsid->daddr, &xsinfo->id.daddr, sizeof(xsid->daddr));
944 xsid->spi = xsinfo->id.spi;
945 xsid->proto = xsinfo->id.proto;
947 addattr_l(new_n, xb->size, XFRMA_SRCADDR, &xsinfo->saddr,
963 filter.xsinfo.family = preferred_family;
968 xfrm_mode_parse(&filter.xsinfo.mode, &argc, &argv);
974 xfrm_reqid_parse(&filter.xsinfo.reqid, &argc, &argv);
980 xfrm_state_flag_parse(&filter.xsinfo.flags, &argc, &argv);
990 xfrm_id_parse(&filter.xsinfo.saddr, &filter.xsinfo.id,
991 &filter.xsinfo.family, 1, &argc, &argv);
993 preferred_family = filter.xsinfo.family;