Lines Matching refs:key

48 			      struct sw_flow_key *key,
113 const struct sw_flow_key *key, in add_deferred_actions() argument
124 da->pkt_key = *key; in add_deferred_actions()
130 static void invalidate_flow_key(struct sw_flow_key *key) in invalidate_flow_key() argument
132 key->eth.type = htons(0); in invalidate_flow_key()
135 static bool is_flow_key_valid(const struct sw_flow_key *key) in is_flow_key_valid() argument
137 return !!key->eth.type; in is_flow_key_valid()
140 static int push_mpls(struct sk_buff *skb, struct sw_flow_key *key, in push_mpls() argument
170 invalidate_flow_key(key); in push_mpls()
174 static int pop_mpls(struct sk_buff *skb, struct sw_flow_key *key, in pop_mpls() argument
200 invalidate_flow_key(key); in pop_mpls()
229 static int pop_vlan(struct sk_buff *skb, struct sw_flow_key *key) in pop_vlan() argument
235 invalidate_flow_key(key); in pop_vlan()
237 key->eth.tci = 0; in pop_vlan()
241 static int push_vlan(struct sk_buff *skb, struct sw_flow_key *key, in push_vlan() argument
245 invalidate_flow_key(key); in push_vlan()
247 key->eth.tci = vlan->vlan_tci; in push_vlan()
265 const struct ovs_key_ethernet *key, in set_eth_addr() argument
276 ether_addr_copy_masked(eth_hdr(skb)->h_source, key->eth_src, in set_eth_addr()
278 ether_addr_copy_masked(eth_hdr(skb)->h_dest, key->eth_dst, in set_eth_addr()
388 const struct ovs_key_ipv4 *key, in set_ipv4() argument
407 new_addr = OVS_MASKED(nh->saddr, key->ipv4_src, mask->ipv4_src); in set_ipv4()
415 new_addr = OVS_MASKED(nh->daddr, key->ipv4_dst, mask->ipv4_dst); in set_ipv4()
423 ipv4_change_dsfield(nh, ~mask->ipv4_tos, key->ipv4_tos); in set_ipv4()
427 set_ip_ttl(skb, nh, key->ipv4_ttl, mask->ipv4_ttl); in set_ipv4()
440 const struct ovs_key_ipv6 *key, in set_ipv6() argument
461 mask_ipv6_addr(saddr, key->ipv6_src, mask->ipv6_src, masked); in set_ipv6()
477 mask_ipv6_addr(daddr, key->ipv6_dst, mask->ipv6_dst, masked); in set_ipv6()
493 ipv6_change_dsfield(nh, ~mask->ipv6_tclass, key->ipv6_tclass); in set_ipv6()
497 set_ipv6_fl(nh, ntohl(key->ipv6_label), in set_ipv6()
503 OVS_SET_MASKED(nh->hop_limit, key->ipv6_hlimit, in set_ipv6()
519 const struct ovs_key_udp *key, in set_udp() argument
533 src = OVS_MASKED(uh->source, key->udp_src, mask->udp_src); in set_udp()
534 dst = OVS_MASKED(uh->dest, key->udp_dst, mask->udp_dst); in set_udp()
561 const struct ovs_key_tcp *key, in set_tcp() argument
574 src = OVS_MASKED(th->source, key->tcp_src, mask->tcp_src); in set_tcp()
579 dst = OVS_MASKED(th->dest, key->tcp_dst, mask->tcp_dst); in set_tcp()
590 const struct ovs_key_sctp *key, in set_sctp() argument
606 sh->source = OVS_MASKED(sh->source, key->sctp_src, mask->sctp_src); in set_sctp()
607 sh->dest = OVS_MASKED(sh->dest, key->sctp_dst, mask->sctp_dst); in set_sctp()
737 struct sw_flow_key *key) in do_output() argument
748 __be16 ethertype = key->eth.type; in do_output()
750 if (!is_flow_key_valid(key)) { in do_output()
767 struct sw_flow_key *key, const struct nlattr *attr, in output_userspace() argument
815 return ovs_dp_upcall(dp, skb, key, &upcall); in output_userspace()
819 struct sw_flow_key *key, const struct nlattr *attr, in sample() argument
857 return output_userspace(dp, skb, key, a, actions, actions_len); in sample()
864 if (!add_deferred_actions(skb, key, a)) { in sample()
874 static void execute_hash(struct sk_buff *skb, struct sw_flow_key *key, in execute_hash() argument
886 key->ovs_flow_hash = hash; in execute_hash()
979 struct sw_flow_key *key, in execute_recirc() argument
984 if (!is_flow_key_valid(key)) { in execute_recirc()
987 err = ovs_flow_key_update(skb, key); in execute_recirc()
991 BUG_ON(!is_flow_key_valid(key)); in execute_recirc()
1006 da = add_deferred_actions(skb, key, NULL); in execute_recirc()
1022 struct sw_flow_key *key, in do_execute_actions() argument
1042 do_output(dp, out_skb, prev_port, key); in do_execute_actions()
1053 output_userspace(dp, skb, key, a, attr, len); in do_execute_actions()
1057 execute_hash(skb, key, a); in do_execute_actions()
1061 err = push_mpls(skb, key, nla_data(a)); in do_execute_actions()
1065 err = pop_mpls(skb, key, nla_get_be16(a)); in do_execute_actions()
1069 err = push_vlan(skb, key, nla_data(a)); in do_execute_actions()
1073 err = pop_vlan(skb, key); in do_execute_actions()
1077 err = execute_recirc(dp, skb, key, a, rem); in do_execute_actions()
1088 err = execute_set_action(skb, key, nla_data(a)); in do_execute_actions()
1093 err = execute_masked_set_action(skb, key, nla_data(a)); in do_execute_actions()
1097 err = sample(dp, skb, key, a, attr, len); in do_execute_actions()
1101 if (!is_flow_key_valid(key)) { in do_execute_actions()
1102 err = ovs_flow_key_update(skb, key); in do_execute_actions()
1107 err = ovs_ct_execute(ovs_dp_get_net(dp), skb, key, in do_execute_actions()
1123 do_output(dp, skb, prev_port, key); in do_execute_actions()
1142 struct sw_flow_key *key = &da->pkt_key; in process_deferred_actions() local
1146 do_execute_actions(dp, skb, key, actions, in process_deferred_actions()
1149 ovs_dp_process_packet(skb, key); in process_deferred_actions()
1159 struct sw_flow_key *key) in ovs_execute_actions() argument
1165 err = do_execute_actions(dp, skb, key, in ovs_execute_actions()