• Home
  • Raw
  • Download

Lines Matching refs:info

46 static struct l2tp_session *l2tp_nl_session_find(struct genl_info *info)  in l2tp_nl_session_find()  argument
53 struct net *net = genl_info_net(info); in l2tp_nl_session_find()
55 if (info->attrs[L2TP_ATTR_IFNAME]) { in l2tp_nl_session_find()
56 ifname = nla_data(info->attrs[L2TP_ATTR_IFNAME]); in l2tp_nl_session_find()
58 } else if ((info->attrs[L2TP_ATTR_SESSION_ID]) && in l2tp_nl_session_find()
59 (info->attrs[L2TP_ATTR_CONN_ID])) { in l2tp_nl_session_find()
60 tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_CONN_ID]); in l2tp_nl_session_find()
61 session_id = nla_get_u32(info->attrs[L2TP_ATTR_SESSION_ID]); in l2tp_nl_session_find()
70 static int l2tp_nl_cmd_noop(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_noop() argument
82 hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, in l2tp_nl_cmd_noop()
91 return genlmsg_unicast(genl_info_net(info), msg, info->snd_portid); in l2tp_nl_cmd_noop()
100 static int l2tp_nl_cmd_tunnel_create(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_tunnel_create() argument
109 struct net *net = genl_info_net(info); in l2tp_nl_cmd_tunnel_create()
111 if (!info->attrs[L2TP_ATTR_CONN_ID]) { in l2tp_nl_cmd_tunnel_create()
115 tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_CONN_ID]); in l2tp_nl_cmd_tunnel_create()
117 if (!info->attrs[L2TP_ATTR_PEER_CONN_ID]) { in l2tp_nl_cmd_tunnel_create()
121 peer_tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_PEER_CONN_ID]); in l2tp_nl_cmd_tunnel_create()
123 if (!info->attrs[L2TP_ATTR_PROTO_VERSION]) { in l2tp_nl_cmd_tunnel_create()
127 proto_version = nla_get_u8(info->attrs[L2TP_ATTR_PROTO_VERSION]); in l2tp_nl_cmd_tunnel_create()
129 if (!info->attrs[L2TP_ATTR_ENCAP_TYPE]) { in l2tp_nl_cmd_tunnel_create()
133 cfg.encap = nla_get_u16(info->attrs[L2TP_ATTR_ENCAP_TYPE]); in l2tp_nl_cmd_tunnel_create()
136 if (info->attrs[L2TP_ATTR_FD]) { in l2tp_nl_cmd_tunnel_create()
137 fd = nla_get_u32(info->attrs[L2TP_ATTR_FD]); in l2tp_nl_cmd_tunnel_create()
140 if (info->attrs[L2TP_ATTR_IP6_SADDR] && in l2tp_nl_cmd_tunnel_create()
141 info->attrs[L2TP_ATTR_IP6_DADDR]) { in l2tp_nl_cmd_tunnel_create()
143 info->attrs[L2TP_ATTR_IP6_SADDR]); in l2tp_nl_cmd_tunnel_create()
145 info->attrs[L2TP_ATTR_IP6_DADDR]); in l2tp_nl_cmd_tunnel_create()
148 if (info->attrs[L2TP_ATTR_IP_SADDR] && in l2tp_nl_cmd_tunnel_create()
149 info->attrs[L2TP_ATTR_IP_DADDR]) { in l2tp_nl_cmd_tunnel_create()
151 info->attrs[L2TP_ATTR_IP_SADDR]); in l2tp_nl_cmd_tunnel_create()
153 info->attrs[L2TP_ATTR_IP_DADDR]); in l2tp_nl_cmd_tunnel_create()
158 if (info->attrs[L2TP_ATTR_UDP_SPORT]) in l2tp_nl_cmd_tunnel_create()
159 cfg.local_udp_port = nla_get_u16(info->attrs[L2TP_ATTR_UDP_SPORT]); in l2tp_nl_cmd_tunnel_create()
160 if (info->attrs[L2TP_ATTR_UDP_DPORT]) in l2tp_nl_cmd_tunnel_create()
161 cfg.peer_udp_port = nla_get_u16(info->attrs[L2TP_ATTR_UDP_DPORT]); in l2tp_nl_cmd_tunnel_create()
162 if (info->attrs[L2TP_ATTR_UDP_CSUM]) in l2tp_nl_cmd_tunnel_create()
163 cfg.use_udp_checksums = nla_get_flag(info->attrs[L2TP_ATTR_UDP_CSUM]); in l2tp_nl_cmd_tunnel_create()
166 if (info->attrs[L2TP_ATTR_DEBUG]) in l2tp_nl_cmd_tunnel_create()
167 cfg.debug = nla_get_u32(info->attrs[L2TP_ATTR_DEBUG]); in l2tp_nl_cmd_tunnel_create()
188 static int l2tp_nl_cmd_tunnel_delete(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_tunnel_delete() argument
193 struct net *net = genl_info_net(info); in l2tp_nl_cmd_tunnel_delete()
195 if (!info->attrs[L2TP_ATTR_CONN_ID]) { in l2tp_nl_cmd_tunnel_delete()
199 tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_CONN_ID]); in l2tp_nl_cmd_tunnel_delete()
213 static int l2tp_nl_cmd_tunnel_modify(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_tunnel_modify() argument
218 struct net *net = genl_info_net(info); in l2tp_nl_cmd_tunnel_modify()
220 if (!info->attrs[L2TP_ATTR_CONN_ID]) { in l2tp_nl_cmd_tunnel_modify()
224 tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_CONN_ID]); in l2tp_nl_cmd_tunnel_modify()
232 if (info->attrs[L2TP_ATTR_DEBUG]) in l2tp_nl_cmd_tunnel_modify()
233 tunnel->debug = nla_get_u32(info->attrs[L2TP_ATTR_DEBUG]); in l2tp_nl_cmd_tunnel_modify()
328 static int l2tp_nl_cmd_tunnel_get(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_tunnel_get() argument
334 struct net *net = genl_info_net(info); in l2tp_nl_cmd_tunnel_get()
336 if (!info->attrs[L2TP_ATTR_CONN_ID]) { in l2tp_nl_cmd_tunnel_get()
341 tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_CONN_ID]); in l2tp_nl_cmd_tunnel_get()
355 ret = l2tp_nl_tunnel_send(msg, info->snd_portid, info->snd_seq, in l2tp_nl_cmd_tunnel_get()
360 return genlmsg_unicast(net, msg, info->snd_portid); in l2tp_nl_cmd_tunnel_get()
394 static int l2tp_nl_cmd_session_create(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_session_create() argument
403 struct net *net = genl_info_net(info); in l2tp_nl_cmd_session_create()
405 if (!info->attrs[L2TP_ATTR_CONN_ID]) { in l2tp_nl_cmd_session_create()
409 tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_CONN_ID]); in l2tp_nl_cmd_session_create()
416 if (!info->attrs[L2TP_ATTR_SESSION_ID]) { in l2tp_nl_cmd_session_create()
420 session_id = nla_get_u32(info->attrs[L2TP_ATTR_SESSION_ID]); in l2tp_nl_cmd_session_create()
427 if (!info->attrs[L2TP_ATTR_PEER_SESSION_ID]) { in l2tp_nl_cmd_session_create()
431 peer_session_id = nla_get_u32(info->attrs[L2TP_ATTR_PEER_SESSION_ID]); in l2tp_nl_cmd_session_create()
433 if (!info->attrs[L2TP_ATTR_PW_TYPE]) { in l2tp_nl_cmd_session_create()
437 cfg.pw_type = nla_get_u16(info->attrs[L2TP_ATTR_PW_TYPE]); in l2tp_nl_cmd_session_create()
444 if (info->attrs[L2TP_ATTR_OFFSET]) in l2tp_nl_cmd_session_create()
445 cfg.offset = nla_get_u16(info->attrs[L2TP_ATTR_OFFSET]); in l2tp_nl_cmd_session_create()
447 if (info->attrs[L2TP_ATTR_DATA_SEQ]) in l2tp_nl_cmd_session_create()
448 cfg.data_seq = nla_get_u8(info->attrs[L2TP_ATTR_DATA_SEQ]); in l2tp_nl_cmd_session_create()
451 if (info->attrs[L2TP_ATTR_L2SPEC_TYPE]) in l2tp_nl_cmd_session_create()
452 cfg.l2specific_type = nla_get_u8(info->attrs[L2TP_ATTR_L2SPEC_TYPE]); in l2tp_nl_cmd_session_create()
455 if (info->attrs[L2TP_ATTR_L2SPEC_LEN]) in l2tp_nl_cmd_session_create()
456 cfg.l2specific_len = nla_get_u8(info->attrs[L2TP_ATTR_L2SPEC_LEN]); in l2tp_nl_cmd_session_create()
458 if (info->attrs[L2TP_ATTR_COOKIE]) { in l2tp_nl_cmd_session_create()
459 u16 len = nla_len(info->attrs[L2TP_ATTR_COOKIE]); in l2tp_nl_cmd_session_create()
465 memcpy(&cfg.cookie[0], nla_data(info->attrs[L2TP_ATTR_COOKIE]), len); in l2tp_nl_cmd_session_create()
467 if (info->attrs[L2TP_ATTR_PEER_COOKIE]) { in l2tp_nl_cmd_session_create()
468 u16 len = nla_len(info->attrs[L2TP_ATTR_PEER_COOKIE]); in l2tp_nl_cmd_session_create()
474 memcpy(&cfg.peer_cookie[0], nla_data(info->attrs[L2TP_ATTR_PEER_COOKIE]), len); in l2tp_nl_cmd_session_create()
476 if (info->attrs[L2TP_ATTR_IFNAME]) in l2tp_nl_cmd_session_create()
477 cfg.ifname = nla_data(info->attrs[L2TP_ATTR_IFNAME]); in l2tp_nl_cmd_session_create()
479 if (info->attrs[L2TP_ATTR_VLAN_ID]) in l2tp_nl_cmd_session_create()
480 cfg.vlan_id = nla_get_u16(info->attrs[L2TP_ATTR_VLAN_ID]); in l2tp_nl_cmd_session_create()
483 if (info->attrs[L2TP_ATTR_DEBUG]) in l2tp_nl_cmd_session_create()
484 cfg.debug = nla_get_u32(info->attrs[L2TP_ATTR_DEBUG]); in l2tp_nl_cmd_session_create()
486 if (info->attrs[L2TP_ATTR_RECV_SEQ]) in l2tp_nl_cmd_session_create()
487 cfg.recv_seq = nla_get_u8(info->attrs[L2TP_ATTR_RECV_SEQ]); in l2tp_nl_cmd_session_create()
489 if (info->attrs[L2TP_ATTR_SEND_SEQ]) in l2tp_nl_cmd_session_create()
490 cfg.send_seq = nla_get_u8(info->attrs[L2TP_ATTR_SEND_SEQ]); in l2tp_nl_cmd_session_create()
492 if (info->attrs[L2TP_ATTR_LNS_MODE]) in l2tp_nl_cmd_session_create()
493 cfg.lns_mode = nla_get_u8(info->attrs[L2TP_ATTR_LNS_MODE]); in l2tp_nl_cmd_session_create()
495 if (info->attrs[L2TP_ATTR_RECV_TIMEOUT]) in l2tp_nl_cmd_session_create()
496 cfg.reorder_timeout = nla_get_msecs(info->attrs[L2TP_ATTR_RECV_TIMEOUT]); in l2tp_nl_cmd_session_create()
498 if (info->attrs[L2TP_ATTR_MTU]) in l2tp_nl_cmd_session_create()
499 cfg.mtu = nla_get_u16(info->attrs[L2TP_ATTR_MTU]); in l2tp_nl_cmd_session_create()
501 if (info->attrs[L2TP_ATTR_MRU]) in l2tp_nl_cmd_session_create()
502 cfg.mru = nla_get_u16(info->attrs[L2TP_ATTR_MRU]); in l2tp_nl_cmd_session_create()
515 if (!info->attrs[L2TP_ATTR_VLAN_ID]) { in l2tp_nl_cmd_session_create()
540 static int l2tp_nl_cmd_session_delete(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_session_delete() argument
546 session = l2tp_nl_session_find(info); in l2tp_nl_cmd_session_delete()
561 static int l2tp_nl_cmd_session_modify(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_session_modify() argument
566 session = l2tp_nl_session_find(info); in l2tp_nl_cmd_session_modify()
572 if (info->attrs[L2TP_ATTR_DEBUG]) in l2tp_nl_cmd_session_modify()
573 session->debug = nla_get_u32(info->attrs[L2TP_ATTR_DEBUG]); in l2tp_nl_cmd_session_modify()
575 if (info->attrs[L2TP_ATTR_DATA_SEQ]) in l2tp_nl_cmd_session_modify()
576 session->data_seq = nla_get_u8(info->attrs[L2TP_ATTR_DATA_SEQ]); in l2tp_nl_cmd_session_modify()
578 if (info->attrs[L2TP_ATTR_RECV_SEQ]) in l2tp_nl_cmd_session_modify()
579 session->recv_seq = nla_get_u8(info->attrs[L2TP_ATTR_RECV_SEQ]); in l2tp_nl_cmd_session_modify()
581 if (info->attrs[L2TP_ATTR_SEND_SEQ]) in l2tp_nl_cmd_session_modify()
582 session->send_seq = nla_get_u8(info->attrs[L2TP_ATTR_SEND_SEQ]); in l2tp_nl_cmd_session_modify()
584 if (info->attrs[L2TP_ATTR_LNS_MODE]) in l2tp_nl_cmd_session_modify()
585 session->lns_mode = nla_get_u8(info->attrs[L2TP_ATTR_LNS_MODE]); in l2tp_nl_cmd_session_modify()
587 if (info->attrs[L2TP_ATTR_RECV_TIMEOUT]) in l2tp_nl_cmd_session_modify()
588 session->reorder_timeout = nla_get_msecs(info->attrs[L2TP_ATTR_RECV_TIMEOUT]); in l2tp_nl_cmd_session_modify()
590 if (info->attrs[L2TP_ATTR_MTU]) in l2tp_nl_cmd_session_modify()
591 session->mtu = nla_get_u16(info->attrs[L2TP_ATTR_MTU]); in l2tp_nl_cmd_session_modify()
593 if (info->attrs[L2TP_ATTR_MRU]) in l2tp_nl_cmd_session_modify()
594 session->mru = nla_get_u16(info->attrs[L2TP_ATTR_MRU]); in l2tp_nl_cmd_session_modify()
675 static int l2tp_nl_cmd_session_get(struct sk_buff *skb, struct genl_info *info) in l2tp_nl_cmd_session_get() argument
681 session = l2tp_nl_session_find(info); in l2tp_nl_cmd_session_get()
693 ret = l2tp_nl_session_send(msg, info->snd_portid, info->snd_seq, in l2tp_nl_cmd_session_get()
698 return genlmsg_unicast(genl_info_net(info), msg, info->snd_portid); in l2tp_nl_cmd_session_get()