Lines Matching refs:a
537 struct nlattr **a = info->attrs; in ovs_packet_cmd_execute() local
547 bool log = !a[OVS_PACKET_ATTR_PROBE]; in ovs_packet_cmd_execute()
550 if (!a[OVS_PACKET_ATTR_PACKET] || !a[OVS_PACKET_ATTR_KEY] || in ovs_packet_cmd_execute()
551 !a[OVS_PACKET_ATTR_ACTIONS]) in ovs_packet_cmd_execute()
554 len = nla_len(a[OVS_PACKET_ATTR_PACKET]); in ovs_packet_cmd_execute()
561 nla_memcpy(__skb_put(packet, len), a[OVS_PACKET_ATTR_PACKET], len); in ovs_packet_cmd_execute()
564 if (a[OVS_PACKET_ATTR_MRU]) { in ovs_packet_cmd_execute()
565 mru = nla_get_u16(a[OVS_PACKET_ATTR_MRU]); in ovs_packet_cmd_execute()
576 err = ovs_flow_key_extract_userspace(net, a[OVS_PACKET_ATTR_KEY], in ovs_packet_cmd_execute()
581 err = ovs_nla_copy_actions(net, a[OVS_PACKET_ATTR_ACTIONS], in ovs_packet_cmd_execute()
899 struct nlattr **a = info->attrs; in ovs_flow_cmd_new() local
907 u32 ufid_flags = ovs_nla_get_ufid_flags(a[OVS_FLOW_ATTR_UFID_FLAGS]); in ovs_flow_cmd_new()
909 bool log = !a[OVS_FLOW_ATTR_PROBE]; in ovs_flow_cmd_new()
913 if (!a[OVS_FLOW_ATTR_KEY]) { in ovs_flow_cmd_new()
917 if (!a[OVS_FLOW_ATTR_ACTIONS]) { in ovs_flow_cmd_new()
933 error = ovs_nla_get_match(net, &match, a[OVS_FLOW_ATTR_KEY], in ovs_flow_cmd_new()
934 a[OVS_FLOW_ATTR_MASK], log); in ovs_flow_cmd_new()
939 error = ovs_nla_get_identifier(&new_flow->id, a[OVS_FLOW_ATTR_UFID], in ovs_flow_cmd_new()
951 error = ovs_nla_copy_actions(net, a[OVS_FLOW_ATTR_ACTIONS], in ovs_flow_cmd_new()
1061 const struct nlattr *a, in get_flow_actions() argument
1071 error = ovs_nla_copy_actions(net, a, &masked_key, &acts, log); in get_flow_actions()
1098 struct nlattr **a, in ovs_nla_init_match_and_action() argument
1105 if (a[OVS_FLOW_ATTR_KEY]) { in ovs_nla_init_match_and_action()
1107 error = ovs_nla_get_match(net, match, a[OVS_FLOW_ATTR_KEY], in ovs_nla_init_match_and_action()
1108 a[OVS_FLOW_ATTR_MASK], log); in ovs_nla_init_match_and_action()
1113 if (a[OVS_FLOW_ATTR_ACTIONS]) { in ovs_nla_init_match_and_action()
1114 if (!a[OVS_FLOW_ATTR_KEY]) { in ovs_nla_init_match_and_action()
1121 *acts = get_flow_actions(net, a[OVS_FLOW_ATTR_ACTIONS], key, in ovs_nla_init_match_and_action()
1138 struct nlattr **a = info->attrs; in ovs_flow_cmd_set() local
1147 u32 ufid_flags = ovs_nla_get_ufid_flags(a[OVS_FLOW_ATTR_UFID_FLAGS]); in ovs_flow_cmd_set()
1149 bool log = !a[OVS_FLOW_ATTR_PROBE]; in ovs_flow_cmd_set()
1152 ufid_present = ovs_nla_get_ufid(&sfid, a[OVS_FLOW_ATTR_UFID], log); in ovs_flow_cmd_set()
1153 if (!a[OVS_FLOW_ATTR_KEY] && !ufid_present) { in ovs_flow_cmd_set()
1159 error = ovs_nla_init_match_and_action(net, &match, &key, a, in ovs_flow_cmd_set()
1217 if (a[OVS_FLOW_ATTR_CLEAR]) in ovs_flow_cmd_set()
1239 struct nlattr **a = info->attrs; in ovs_flow_cmd_get() local
1248 u32 ufid_flags = ovs_nla_get_ufid_flags(a[OVS_FLOW_ATTR_UFID_FLAGS]); in ovs_flow_cmd_get()
1250 bool log = !a[OVS_FLOW_ATTR_PROBE]; in ovs_flow_cmd_get()
1253 ufid_present = ovs_nla_get_ufid(&ufid, a[OVS_FLOW_ATTR_UFID], log); in ovs_flow_cmd_get()
1254 if (a[OVS_FLOW_ATTR_KEY]) { in ovs_flow_cmd_get()
1256 err = ovs_nla_get_match(net, &match, a[OVS_FLOW_ATTR_KEY], NULL, in ovs_flow_cmd_get()
1298 struct nlattr **a = info->attrs; in ovs_flow_cmd_del() local
1307 u32 ufid_flags = ovs_nla_get_ufid_flags(a[OVS_FLOW_ATTR_UFID_FLAGS]); in ovs_flow_cmd_del()
1309 bool log = !a[OVS_FLOW_ATTR_PROBE]; in ovs_flow_cmd_del()
1312 ufid_present = ovs_nla_get_ufid(&ufid, a[OVS_FLOW_ATTR_UFID], log); in ovs_flow_cmd_del()
1313 if (a[OVS_FLOW_ATTR_KEY]) { in ovs_flow_cmd_del()
1315 err = ovs_nla_get_match(net, &match, a[OVS_FLOW_ATTR_KEY], in ovs_flow_cmd_del()
1328 if (unlikely(!a[OVS_FLOW_ATTR_KEY] && !ufid_present)) { in ovs_flow_cmd_del()
1377 struct nlattr *a[__OVS_FLOW_ATTR_MAX]; in ovs_flow_cmd_dump() local
1384 err = genlmsg_parse_deprecated(cb->nlh, &dp_flow_genl_family, a, in ovs_flow_cmd_dump()
1388 ufid_flags = ovs_nla_get_ufid_flags(a[OVS_FLOW_ATTR_UFID_FLAGS]); in ovs_flow_cmd_dump()
1532 struct nlattr *a[OVS_DP_ATTR_MAX + 1]) in lookup_datapath()
1536 if (!a[OVS_DP_ATTR_NAME]) in lookup_datapath()
1541 vport = ovs_vport_locate(net, nla_data(a[OVS_DP_ATTR_NAME])); in lookup_datapath()
1561 static int ovs_dp_change(struct datapath *dp, struct nlattr *a[]) in ovs_dp_change() argument
1565 if (a[OVS_DP_ATTR_USER_FEATURES]) { in ovs_dp_change()
1566 user_features = nla_get_u32(a[OVS_DP_ATTR_USER_FEATURES]); in ovs_dp_change()
1591 struct nlattr **a = info->attrs; in ovs_dp_cmd_new() local
1600 if (!a[OVS_DP_ATTR_NAME] || !a[OVS_DP_ATTR_UPCALL_PID]) in ovs_dp_cmd_new()
1641 parms.name = nla_data(a[OVS_DP_ATTR_NAME]); in ovs_dp_cmd_new()
1646 parms.upcall_portids = a[OVS_DP_ATTR_UPCALL_PID]; in ovs_dp_cmd_new()
1648 err = ovs_dp_change(dp, a); in ovs_dp_cmd_new()
1971 struct nlattr *a[OVS_VPORT_ATTR_MAX + 1]) in lookup_vport()
1976 if (a[OVS_VPORT_ATTR_IFINDEX]) in lookup_vport()
1978 if (a[OVS_VPORT_ATTR_NAME]) { in lookup_vport()
1979 vport = ovs_vport_locate(net, nla_data(a[OVS_VPORT_ATTR_NAME])); in lookup_vport()
1986 } else if (a[OVS_VPORT_ATTR_PORT_NO]) { in lookup_vport()
1987 u32 port_no = nla_get_u32(a[OVS_VPORT_ATTR_PORT_NO]); in lookup_vport()
2038 struct nlattr **a = info->attrs; in ovs_vport_cmd_new() local
2048 if (!a[OVS_VPORT_ATTR_NAME] || !a[OVS_VPORT_ATTR_TYPE] || in ovs_vport_cmd_new()
2049 !a[OVS_VPORT_ATTR_UPCALL_PID]) in ovs_vport_cmd_new()
2051 if (a[OVS_VPORT_ATTR_IFINDEX]) in ovs_vport_cmd_new()
2054 port_no = a[OVS_VPORT_ATTR_PORT_NO] in ovs_vport_cmd_new()
2055 ? nla_get_u32(a[OVS_VPORT_ATTR_PORT_NO]) : 0; in ovs_vport_cmd_new()
2087 parms.name = nla_data(a[OVS_VPORT_ATTR_NAME]); in ovs_vport_cmd_new()
2088 parms.type = nla_get_u32(a[OVS_VPORT_ATTR_TYPE]); in ovs_vport_cmd_new()
2089 parms.options = a[OVS_VPORT_ATTR_OPTIONS]; in ovs_vport_cmd_new()
2092 parms.upcall_portids = a[OVS_VPORT_ATTR_UPCALL_PID]; in ovs_vport_cmd_new()
2127 struct nlattr **a = info->attrs; in ovs_vport_cmd_set() local
2137 vport = lookup_vport(sock_net(skb->sk), info->userhdr, a); in ovs_vport_cmd_set()
2142 if (a[OVS_VPORT_ATTR_TYPE] && in ovs_vport_cmd_set()
2143 nla_get_u32(a[OVS_VPORT_ATTR_TYPE]) != vport->ops->type) { in ovs_vport_cmd_set()
2148 if (a[OVS_VPORT_ATTR_OPTIONS]) { in ovs_vport_cmd_set()
2149 err = ovs_vport_set_options(vport, a[OVS_VPORT_ATTR_OPTIONS]); in ovs_vport_cmd_set()
2155 if (a[OVS_VPORT_ATTR_UPCALL_PID]) { in ovs_vport_cmd_set()
2156 struct nlattr *ids = a[OVS_VPORT_ATTR_UPCALL_PID]; in ovs_vport_cmd_set()
2181 struct nlattr **a = info->attrs; in ovs_vport_cmd_del() local
2193 vport = lookup_vport(sock_net(skb->sk), info->userhdr, a); in ovs_vport_cmd_del()
2235 struct nlattr **a = info->attrs; in ovs_vport_cmd_get() local
2246 vport = lookup_vport(sock_net(skb->sk), ovs_header, a); in ovs_vport_cmd_get()