/src/openvswitch/lib/packets.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Nicira, Inc. |
3 | | * |
4 | | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | | * you may not use this file except in compliance with the License. |
6 | | * You may obtain a copy of the License at: |
7 | | * |
8 | | * http://www.apache.org/licenses/LICENSE-2.0 |
9 | | * |
10 | | * Unless required by applicable law or agreed to in writing, software |
11 | | * distributed under the License is distributed on an "AS IS" BASIS, |
12 | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 | | * See the License for the specific language governing permissions and |
14 | | * limitations under the License. |
15 | | */ |
16 | | |
17 | | #ifndef PACKETS_H |
18 | | #define PACKETS_H 1 |
19 | | |
20 | | #include <inttypes.h> |
21 | | #include <sys/types.h> |
22 | | #include <stdint.h> |
23 | | #include <string.h> |
24 | | #include "compiler.h" |
25 | | #include "openvswitch/geneve.h" |
26 | | #include "openvswitch/packets.h" |
27 | | #include "openvswitch/types.h" |
28 | | #include "openvswitch/nsh.h" |
29 | | #include "odp-netlink.h" |
30 | | #include "random.h" |
31 | | #include "hash.h" |
32 | | #include "tun-metadata.h" |
33 | | #include "unaligned.h" |
34 | | #include "util.h" |
35 | | #include "timeval.h" |
36 | | |
37 | | struct dp_packet; |
38 | | struct conn; |
39 | | struct ds; |
40 | | |
41 | | /* Purely internal to OVS userspace. These flags should never be exposed to |
42 | | * the outside world and so aren't included in the flags mask. */ |
43 | | |
44 | | /* Tunnel information is in userspace datapath format. */ |
45 | 0 | #define FLOW_TNL_F_UDPIF (1 << 4) |
46 | | |
47 | | static inline bool ipv6_addr_is_set(const struct in6_addr *addr); |
48 | | |
49 | | static inline bool |
50 | | flow_tnl_dst_is_set(const struct flow_tnl *tnl) |
51 | 0 | { |
52 | 0 | return tnl->ip_dst || ipv6_addr_is_set(&tnl->ipv6_dst); |
53 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_tnl_dst_is_set Unexecuted instantiation: dp-packet.c:flow_tnl_dst_is_set Unexecuted instantiation: flow.c:flow_tnl_dst_is_set Unexecuted instantiation: match.c:flow_tnl_dst_is_set Unexecuted instantiation: netdev.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-port.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-print.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-queue.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-table.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-util.c:flow_tnl_dst_is_set Unexecuted instantiation: ovs-router.c:flow_tnl_dst_is_set Unexecuted instantiation: packets.c:flow_tnl_dst_is_set Unexecuted instantiation: smap.c:flow_tnl_dst_is_set Unexecuted instantiation: socket-util.c:flow_tnl_dst_is_set Unexecuted instantiation: tnl-ports.c:flow_tnl_dst_is_set Unexecuted instantiation: tun-metadata.c:flow_tnl_dst_is_set Unexecuted instantiation: netdev-linux.c:flow_tnl_dst_is_set Unexecuted instantiation: netdev-offload-tc.c:flow_tnl_dst_is_set Unexecuted instantiation: rtnetlink.c:flow_tnl_dst_is_set Unexecuted instantiation: route-table.c:flow_tnl_dst_is_set Unexecuted instantiation: tc.c:flow_tnl_dst_is_set Unexecuted instantiation: classifier.c:flow_tnl_dst_is_set Unexecuted instantiation: dp-packet-gso.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif.c:flow_tnl_dst_is_set Unexecuted instantiation: meta-flow.c:flow_tnl_dst_is_set Unexecuted instantiation: netdev-offload.c:flow_tnl_dst_is_set Unexecuted instantiation: netdev-vport.c:flow_tnl_dst_is_set Unexecuted instantiation: netlink.c:flow_tnl_dst_is_set Unexecuted instantiation: nx-match.c:flow_tnl_dst_is_set Unexecuted instantiation: odp-execute.c:flow_tnl_dst_is_set Unexecuted instantiation: odp-execute-private.c:flow_tnl_dst_is_set Unexecuted instantiation: odp-util.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-actions.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-ct.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-ed-props.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-flow.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-group.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-match.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-meter.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-monitor.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-packet.c:flow_tnl_dst_is_set Unexecuted instantiation: ofp-parse.c:flow_tnl_dst_is_set Unexecuted instantiation: stream.c:flow_tnl_dst_is_set Unexecuted instantiation: tnl-neigh-cache.c:flow_tnl_dst_is_set Unexecuted instantiation: netdev-native-tnl.c:flow_tnl_dst_is_set Unexecuted instantiation: stream-unix.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netlink.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netlink-rtnl.c:flow_tnl_dst_is_set Unexecuted instantiation: netlink-conntrack.c:flow_tnl_dst_is_set Unexecuted instantiation: stream-ssl.c:flow_tnl_dst_is_set Unexecuted instantiation: bundle.c:flow_tnl_dst_is_set Unexecuted instantiation: conntrack.c:flow_tnl_dst_is_set Unexecuted instantiation: ct-dpif.c:flow_tnl_dst_is_set Unexecuted instantiation: dpctl.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev-private-extract.c:flow_tnl_dst_is_set Unexecuted instantiation: ipf.c:flow_tnl_dst_is_set Unexecuted instantiation: learn.c:flow_tnl_dst_is_set Unexecuted instantiation: multipath.c:flow_tnl_dst_is_set Unexecuted instantiation: stream-tcp.c:flow_tnl_dst_is_set Unexecuted instantiation: conntrack-icmp.c:flow_tnl_dst_is_set Unexecuted instantiation: conntrack-tcp.c:flow_tnl_dst_is_set Unexecuted instantiation: conntrack-tp.c:flow_tnl_dst_is_set Unexecuted instantiation: conntrack-other.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev-extract-study.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev-lookup.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_tnl_dst_is_set Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_tnl_dst_is_set |
54 | | |
55 | | static inline bool |
56 | | flow_tnl_src_is_set(const struct flow_tnl *tnl) |
57 | 0 | { |
58 | 0 | return tnl->ip_src || ipv6_addr_is_set(&tnl->ipv6_src); |
59 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_tnl_src_is_set Unexecuted instantiation: dp-packet.c:flow_tnl_src_is_set Unexecuted instantiation: flow.c:flow_tnl_src_is_set Unexecuted instantiation: match.c:flow_tnl_src_is_set Unexecuted instantiation: netdev.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-port.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-print.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-queue.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-table.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-util.c:flow_tnl_src_is_set Unexecuted instantiation: ovs-router.c:flow_tnl_src_is_set Unexecuted instantiation: packets.c:flow_tnl_src_is_set Unexecuted instantiation: smap.c:flow_tnl_src_is_set Unexecuted instantiation: socket-util.c:flow_tnl_src_is_set Unexecuted instantiation: tnl-ports.c:flow_tnl_src_is_set Unexecuted instantiation: tun-metadata.c:flow_tnl_src_is_set Unexecuted instantiation: netdev-linux.c:flow_tnl_src_is_set Unexecuted instantiation: netdev-offload-tc.c:flow_tnl_src_is_set Unexecuted instantiation: rtnetlink.c:flow_tnl_src_is_set Unexecuted instantiation: route-table.c:flow_tnl_src_is_set Unexecuted instantiation: tc.c:flow_tnl_src_is_set Unexecuted instantiation: classifier.c:flow_tnl_src_is_set Unexecuted instantiation: dp-packet-gso.c:flow_tnl_src_is_set Unexecuted instantiation: dpif.c:flow_tnl_src_is_set Unexecuted instantiation: meta-flow.c:flow_tnl_src_is_set Unexecuted instantiation: netdev-offload.c:flow_tnl_src_is_set Unexecuted instantiation: netdev-vport.c:flow_tnl_src_is_set Unexecuted instantiation: netlink.c:flow_tnl_src_is_set Unexecuted instantiation: nx-match.c:flow_tnl_src_is_set Unexecuted instantiation: odp-execute.c:flow_tnl_src_is_set Unexecuted instantiation: odp-execute-private.c:flow_tnl_src_is_set Unexecuted instantiation: odp-util.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-actions.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-ct.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-ed-props.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-flow.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-group.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-match.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-meter.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-monitor.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-packet.c:flow_tnl_src_is_set Unexecuted instantiation: ofp-parse.c:flow_tnl_src_is_set Unexecuted instantiation: stream.c:flow_tnl_src_is_set Unexecuted instantiation: tnl-neigh-cache.c:flow_tnl_src_is_set Unexecuted instantiation: netdev-native-tnl.c:flow_tnl_src_is_set Unexecuted instantiation: stream-unix.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netlink.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netlink-rtnl.c:flow_tnl_src_is_set Unexecuted instantiation: netlink-conntrack.c:flow_tnl_src_is_set Unexecuted instantiation: stream-ssl.c:flow_tnl_src_is_set Unexecuted instantiation: bundle.c:flow_tnl_src_is_set Unexecuted instantiation: conntrack.c:flow_tnl_src_is_set Unexecuted instantiation: ct-dpif.c:flow_tnl_src_is_set Unexecuted instantiation: dpctl.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev-private-extract.c:flow_tnl_src_is_set Unexecuted instantiation: ipf.c:flow_tnl_src_is_set Unexecuted instantiation: learn.c:flow_tnl_src_is_set Unexecuted instantiation: multipath.c:flow_tnl_src_is_set Unexecuted instantiation: stream-tcp.c:flow_tnl_src_is_set Unexecuted instantiation: conntrack-icmp.c:flow_tnl_src_is_set Unexecuted instantiation: conntrack-tcp.c:flow_tnl_src_is_set Unexecuted instantiation: conntrack-tp.c:flow_tnl_src_is_set Unexecuted instantiation: conntrack-other.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev-extract-study.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev-lookup.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_tnl_src_is_set Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_tnl_src_is_set |
60 | | |
61 | | struct in6_addr flow_tnl_dst(const struct flow_tnl *tnl); |
62 | | struct in6_addr flow_tnl_src(const struct flow_tnl *tnl); |
63 | | |
64 | | /* Returns an offset to 'src' covering all the meaningful fields in 'src'. */ |
65 | | static inline size_t |
66 | | flow_tnl_size(const struct flow_tnl *src) |
67 | 0 | { |
68 | 0 | if (!flow_tnl_dst_is_set(src)) { |
69 | 0 | /* Covers ip_dst and ipv6_dst only. */ |
70 | 0 | return offsetof(struct flow_tnl, ip_src); |
71 | 0 | } |
72 | 0 | if (src->flags & FLOW_TNL_F_UDPIF) { |
73 | 0 | /* Datapath format, cover all options we have. */ |
74 | 0 | return offsetof(struct flow_tnl, metadata.opts) |
75 | 0 | + src->metadata.present.len; |
76 | 0 | } |
77 | 0 | if (!src->metadata.present.map) { |
78 | 0 | /* No TLVs, opts is irrelevant. */ |
79 | 0 | return offsetof(struct flow_tnl, metadata.opts); |
80 | 0 | } |
81 | 0 | /* Have decoded TLVs, opts is relevant. */ |
82 | 0 | return sizeof *src; |
83 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_tnl_size Unexecuted instantiation: dp-packet.c:flow_tnl_size Unexecuted instantiation: flow.c:flow_tnl_size Unexecuted instantiation: match.c:flow_tnl_size Unexecuted instantiation: netdev.c:flow_tnl_size Unexecuted instantiation: ofp-port.c:flow_tnl_size Unexecuted instantiation: ofp-print.c:flow_tnl_size Unexecuted instantiation: ofp-queue.c:flow_tnl_size Unexecuted instantiation: ofp-table.c:flow_tnl_size Unexecuted instantiation: ofp-util.c:flow_tnl_size Unexecuted instantiation: ovs-router.c:flow_tnl_size Unexecuted instantiation: packets.c:flow_tnl_size Unexecuted instantiation: smap.c:flow_tnl_size Unexecuted instantiation: socket-util.c:flow_tnl_size Unexecuted instantiation: tnl-ports.c:flow_tnl_size Unexecuted instantiation: tun-metadata.c:flow_tnl_size Unexecuted instantiation: netdev-linux.c:flow_tnl_size Unexecuted instantiation: netdev-offload-tc.c:flow_tnl_size Unexecuted instantiation: rtnetlink.c:flow_tnl_size Unexecuted instantiation: route-table.c:flow_tnl_size Unexecuted instantiation: tc.c:flow_tnl_size Unexecuted instantiation: classifier.c:flow_tnl_size Unexecuted instantiation: dp-packet-gso.c:flow_tnl_size Unexecuted instantiation: dpif.c:flow_tnl_size Unexecuted instantiation: meta-flow.c:flow_tnl_size Unexecuted instantiation: netdev-offload.c:flow_tnl_size Unexecuted instantiation: netdev-vport.c:flow_tnl_size Unexecuted instantiation: netlink.c:flow_tnl_size Unexecuted instantiation: nx-match.c:flow_tnl_size Unexecuted instantiation: odp-execute.c:flow_tnl_size Unexecuted instantiation: odp-execute-private.c:flow_tnl_size Unexecuted instantiation: odp-util.c:flow_tnl_size Unexecuted instantiation: ofp-actions.c:flow_tnl_size Unexecuted instantiation: ofp-ct.c:flow_tnl_size Unexecuted instantiation: ofp-ed-props.c:flow_tnl_size Unexecuted instantiation: ofp-flow.c:flow_tnl_size Unexecuted instantiation: ofp-group.c:flow_tnl_size Unexecuted instantiation: ofp-match.c:flow_tnl_size Unexecuted instantiation: ofp-meter.c:flow_tnl_size Unexecuted instantiation: ofp-monitor.c:flow_tnl_size Unexecuted instantiation: ofp-packet.c:flow_tnl_size Unexecuted instantiation: ofp-parse.c:flow_tnl_size Unexecuted instantiation: stream.c:flow_tnl_size Unexecuted instantiation: tnl-neigh-cache.c:flow_tnl_size Unexecuted instantiation: netdev-native-tnl.c:flow_tnl_size Unexecuted instantiation: stream-unix.c:flow_tnl_size Unexecuted instantiation: dpif-netlink.c:flow_tnl_size Unexecuted instantiation: dpif-netlink-rtnl.c:flow_tnl_size Unexecuted instantiation: netlink-conntrack.c:flow_tnl_size Unexecuted instantiation: stream-ssl.c:flow_tnl_size Unexecuted instantiation: bundle.c:flow_tnl_size Unexecuted instantiation: conntrack.c:flow_tnl_size Unexecuted instantiation: ct-dpif.c:flow_tnl_size Unexecuted instantiation: dpctl.c:flow_tnl_size Unexecuted instantiation: dpif-netdev.c:flow_tnl_size Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_tnl_size Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_tnl_size Unexecuted instantiation: dpif-netdev-private-extract.c:flow_tnl_size Unexecuted instantiation: ipf.c:flow_tnl_size Unexecuted instantiation: learn.c:flow_tnl_size Unexecuted instantiation: multipath.c:flow_tnl_size Unexecuted instantiation: stream-tcp.c:flow_tnl_size Unexecuted instantiation: conntrack-icmp.c:flow_tnl_size Unexecuted instantiation: conntrack-tcp.c:flow_tnl_size Unexecuted instantiation: conntrack-tp.c:flow_tnl_size Unexecuted instantiation: conntrack-other.c:flow_tnl_size Unexecuted instantiation: dpif-netdev-extract-study.c:flow_tnl_size Unexecuted instantiation: dpif-netdev-lookup.c:flow_tnl_size Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_tnl_size Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_tnl_size |
84 | | |
85 | | /* Copy flow_tnl, but avoid copying unused portions of tun_metadata. Unused |
86 | | * data in 'dst' is NOT cleared, so this must not be used in cases where the |
87 | | * uninitialized portion may be hashed over. */ |
88 | | static inline void |
89 | | flow_tnl_copy__(struct flow_tnl *dst, const struct flow_tnl *src) |
90 | 0 | { |
91 | 0 | memcpy(dst, src, flow_tnl_size(src)); |
92 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_tnl_copy__ Unexecuted instantiation: dp-packet.c:flow_tnl_copy__ Unexecuted instantiation: flow.c:flow_tnl_copy__ Unexecuted instantiation: match.c:flow_tnl_copy__ Unexecuted instantiation: netdev.c:flow_tnl_copy__ Unexecuted instantiation: ofp-port.c:flow_tnl_copy__ Unexecuted instantiation: ofp-print.c:flow_tnl_copy__ Unexecuted instantiation: ofp-queue.c:flow_tnl_copy__ Unexecuted instantiation: ofp-table.c:flow_tnl_copy__ Unexecuted instantiation: ofp-util.c:flow_tnl_copy__ Unexecuted instantiation: ovs-router.c:flow_tnl_copy__ Unexecuted instantiation: packets.c:flow_tnl_copy__ Unexecuted instantiation: smap.c:flow_tnl_copy__ Unexecuted instantiation: socket-util.c:flow_tnl_copy__ Unexecuted instantiation: tnl-ports.c:flow_tnl_copy__ Unexecuted instantiation: tun-metadata.c:flow_tnl_copy__ Unexecuted instantiation: netdev-linux.c:flow_tnl_copy__ Unexecuted instantiation: netdev-offload-tc.c:flow_tnl_copy__ Unexecuted instantiation: rtnetlink.c:flow_tnl_copy__ Unexecuted instantiation: route-table.c:flow_tnl_copy__ Unexecuted instantiation: tc.c:flow_tnl_copy__ Unexecuted instantiation: classifier.c:flow_tnl_copy__ Unexecuted instantiation: dp-packet-gso.c:flow_tnl_copy__ Unexecuted instantiation: dpif.c:flow_tnl_copy__ Unexecuted instantiation: meta-flow.c:flow_tnl_copy__ Unexecuted instantiation: netdev-offload.c:flow_tnl_copy__ Unexecuted instantiation: netdev-vport.c:flow_tnl_copy__ Unexecuted instantiation: netlink.c:flow_tnl_copy__ Unexecuted instantiation: nx-match.c:flow_tnl_copy__ Unexecuted instantiation: odp-execute.c:flow_tnl_copy__ Unexecuted instantiation: odp-execute-private.c:flow_tnl_copy__ Unexecuted instantiation: odp-util.c:flow_tnl_copy__ Unexecuted instantiation: ofp-actions.c:flow_tnl_copy__ Unexecuted instantiation: ofp-ct.c:flow_tnl_copy__ Unexecuted instantiation: ofp-ed-props.c:flow_tnl_copy__ Unexecuted instantiation: ofp-flow.c:flow_tnl_copy__ Unexecuted instantiation: ofp-group.c:flow_tnl_copy__ Unexecuted instantiation: ofp-match.c:flow_tnl_copy__ Unexecuted instantiation: ofp-meter.c:flow_tnl_copy__ Unexecuted instantiation: ofp-monitor.c:flow_tnl_copy__ Unexecuted instantiation: ofp-packet.c:flow_tnl_copy__ Unexecuted instantiation: ofp-parse.c:flow_tnl_copy__ Unexecuted instantiation: stream.c:flow_tnl_copy__ Unexecuted instantiation: tnl-neigh-cache.c:flow_tnl_copy__ Unexecuted instantiation: netdev-native-tnl.c:flow_tnl_copy__ Unexecuted instantiation: stream-unix.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netlink.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netlink-rtnl.c:flow_tnl_copy__ Unexecuted instantiation: netlink-conntrack.c:flow_tnl_copy__ Unexecuted instantiation: stream-ssl.c:flow_tnl_copy__ Unexecuted instantiation: bundle.c:flow_tnl_copy__ Unexecuted instantiation: conntrack.c:flow_tnl_copy__ Unexecuted instantiation: ct-dpif.c:flow_tnl_copy__ Unexecuted instantiation: dpctl.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev-private-extract.c:flow_tnl_copy__ Unexecuted instantiation: ipf.c:flow_tnl_copy__ Unexecuted instantiation: learn.c:flow_tnl_copy__ Unexecuted instantiation: multipath.c:flow_tnl_copy__ Unexecuted instantiation: stream-tcp.c:flow_tnl_copy__ Unexecuted instantiation: conntrack-icmp.c:flow_tnl_copy__ Unexecuted instantiation: conntrack-tcp.c:flow_tnl_copy__ Unexecuted instantiation: conntrack-tp.c:flow_tnl_copy__ Unexecuted instantiation: conntrack-other.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev-extract-study.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev-lookup.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_tnl_copy__ Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_tnl_copy__ |
93 | | |
94 | | static inline bool |
95 | | flow_tnl_equal(const struct flow_tnl *a, const struct flow_tnl *b) |
96 | 0 | { |
97 | 0 | size_t a_size = flow_tnl_size(a); |
98 | 0 |
|
99 | 0 | return a_size == flow_tnl_size(b) && !memcmp(a, b, a_size); |
100 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_tnl_equal Unexecuted instantiation: dp-packet.c:flow_tnl_equal Unexecuted instantiation: flow.c:flow_tnl_equal Unexecuted instantiation: match.c:flow_tnl_equal Unexecuted instantiation: netdev.c:flow_tnl_equal Unexecuted instantiation: ofp-port.c:flow_tnl_equal Unexecuted instantiation: ofp-print.c:flow_tnl_equal Unexecuted instantiation: ofp-queue.c:flow_tnl_equal Unexecuted instantiation: ofp-table.c:flow_tnl_equal Unexecuted instantiation: ofp-util.c:flow_tnl_equal Unexecuted instantiation: ovs-router.c:flow_tnl_equal Unexecuted instantiation: packets.c:flow_tnl_equal Unexecuted instantiation: smap.c:flow_tnl_equal Unexecuted instantiation: socket-util.c:flow_tnl_equal Unexecuted instantiation: tnl-ports.c:flow_tnl_equal Unexecuted instantiation: tun-metadata.c:flow_tnl_equal Unexecuted instantiation: netdev-linux.c:flow_tnl_equal Unexecuted instantiation: netdev-offload-tc.c:flow_tnl_equal Unexecuted instantiation: rtnetlink.c:flow_tnl_equal Unexecuted instantiation: route-table.c:flow_tnl_equal Unexecuted instantiation: tc.c:flow_tnl_equal Unexecuted instantiation: classifier.c:flow_tnl_equal Unexecuted instantiation: dp-packet-gso.c:flow_tnl_equal Unexecuted instantiation: dpif.c:flow_tnl_equal Unexecuted instantiation: meta-flow.c:flow_tnl_equal Unexecuted instantiation: netdev-offload.c:flow_tnl_equal Unexecuted instantiation: netdev-vport.c:flow_tnl_equal Unexecuted instantiation: netlink.c:flow_tnl_equal Unexecuted instantiation: nx-match.c:flow_tnl_equal Unexecuted instantiation: odp-execute.c:flow_tnl_equal Unexecuted instantiation: odp-execute-private.c:flow_tnl_equal Unexecuted instantiation: odp-util.c:flow_tnl_equal Unexecuted instantiation: ofp-actions.c:flow_tnl_equal Unexecuted instantiation: ofp-ct.c:flow_tnl_equal Unexecuted instantiation: ofp-ed-props.c:flow_tnl_equal Unexecuted instantiation: ofp-flow.c:flow_tnl_equal Unexecuted instantiation: ofp-group.c:flow_tnl_equal Unexecuted instantiation: ofp-match.c:flow_tnl_equal Unexecuted instantiation: ofp-meter.c:flow_tnl_equal Unexecuted instantiation: ofp-monitor.c:flow_tnl_equal Unexecuted instantiation: ofp-packet.c:flow_tnl_equal Unexecuted instantiation: ofp-parse.c:flow_tnl_equal Unexecuted instantiation: stream.c:flow_tnl_equal Unexecuted instantiation: tnl-neigh-cache.c:flow_tnl_equal Unexecuted instantiation: netdev-native-tnl.c:flow_tnl_equal Unexecuted instantiation: stream-unix.c:flow_tnl_equal Unexecuted instantiation: dpif-netlink.c:flow_tnl_equal Unexecuted instantiation: dpif-netlink-rtnl.c:flow_tnl_equal Unexecuted instantiation: netlink-conntrack.c:flow_tnl_equal Unexecuted instantiation: stream-ssl.c:flow_tnl_equal Unexecuted instantiation: bundle.c:flow_tnl_equal Unexecuted instantiation: conntrack.c:flow_tnl_equal Unexecuted instantiation: ct-dpif.c:flow_tnl_equal Unexecuted instantiation: dpctl.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev-private-extract.c:flow_tnl_equal Unexecuted instantiation: ipf.c:flow_tnl_equal Unexecuted instantiation: learn.c:flow_tnl_equal Unexecuted instantiation: multipath.c:flow_tnl_equal Unexecuted instantiation: stream-tcp.c:flow_tnl_equal Unexecuted instantiation: conntrack-icmp.c:flow_tnl_equal Unexecuted instantiation: conntrack-tcp.c:flow_tnl_equal Unexecuted instantiation: conntrack-tp.c:flow_tnl_equal Unexecuted instantiation: conntrack-other.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev-extract-study.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev-lookup.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_tnl_equal Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_tnl_equal |
101 | | |
102 | | /* Datapath packet metadata */ |
103 | | struct pkt_metadata { |
104 | | PADDED_MEMBERS_CACHELINE_MARKER(CACHE_LINE_SIZE, cacheline0, |
105 | | uint32_t recirc_id; /* Recirculation id carried with the |
106 | | recirculating packets. 0 for packets |
107 | | received from the wire. */ |
108 | | uint32_t dp_hash; /* hash value computed by the recirculation |
109 | | action. */ |
110 | | uint32_t skb_priority; /* Packet priority for QoS. */ |
111 | | uint32_t pkt_mark; /* Packet mark. */ |
112 | | uint8_t ct_state; /* Connection state. */ |
113 | | bool ct_orig_tuple_ipv6; |
114 | | uint16_t ct_zone; /* Connection zone. */ |
115 | | uint32_t ct_mark; /* Connection mark. */ |
116 | | ovs_u128 ct_label; /* Connection label. */ |
117 | | union flow_in_port in_port; /* Input port. */ |
118 | | odp_port_t orig_in_port; /* Originating in_port for tunneled packets */ |
119 | | struct conn *conn; /* Cached conntrack connection. */ |
120 | | bool reply; /* True if reply direction. */ |
121 | | bool icmp_related; /* True if ICMP related. */ |
122 | | ); |
123 | | |
124 | | PADDED_MEMBERS_CACHELINE_MARKER(CACHE_LINE_SIZE, cacheline1, |
125 | | union { /* Populated only for non-zero 'ct_state'. */ |
126 | | struct ovs_key_ct_tuple_ipv4 ipv4; |
127 | | struct ovs_key_ct_tuple_ipv6 ipv6; /* Used only if */ |
128 | | } ct_orig_tuple; /* 'ct_orig_tuple_ipv6' is set */ |
129 | | ); |
130 | | |
131 | | PADDED_MEMBERS_CACHELINE_MARKER(CACHE_LINE_SIZE, cacheline2, |
132 | | struct flow_tnl tunnel; /* Encapsulating tunnel parameters. Note that |
133 | | * if 'ip_dst' == 0, the rest of the fields may |
134 | | * be uninitialized. */ |
135 | | ); |
136 | | }; |
137 | | |
138 | | BUILD_ASSERT_DECL(offsetof(struct pkt_metadata, cacheline0) == 0); |
139 | | BUILD_ASSERT_DECL(offsetof(struct pkt_metadata, cacheline1) == |
140 | | CACHE_LINE_SIZE); |
141 | | BUILD_ASSERT_DECL(offsetof(struct pkt_metadata, cacheline2) == |
142 | | 2 * CACHE_LINE_SIZE); |
143 | | |
144 | | static inline void |
145 | | pkt_metadata_init_tnl(struct pkt_metadata *md) |
146 | 0 | { |
147 | 0 | odp_port_t orig_in_port; |
148 | | |
149 | | /* Zero up through the tunnel metadata options. The length and table |
150 | | * are before this and as long as they are empty, the options won't |
151 | | * be looked at. Keep the orig_in_port field. */ |
152 | 0 | orig_in_port = md->in_port.odp_port; |
153 | 0 | memset(md, 0, offsetof(struct pkt_metadata, tunnel.metadata.opts)); |
154 | 0 | md->orig_in_port = orig_in_port; |
155 | 0 | } Unexecuted instantiation: miniflow_target.c:pkt_metadata_init_tnl Unexecuted instantiation: dp-packet.c:pkt_metadata_init_tnl Unexecuted instantiation: flow.c:pkt_metadata_init_tnl Unexecuted instantiation: match.c:pkt_metadata_init_tnl Unexecuted instantiation: netdev.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-port.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-print.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-queue.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-table.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-util.c:pkt_metadata_init_tnl Unexecuted instantiation: ovs-router.c:pkt_metadata_init_tnl Unexecuted instantiation: packets.c:pkt_metadata_init_tnl Unexecuted instantiation: smap.c:pkt_metadata_init_tnl Unexecuted instantiation: socket-util.c:pkt_metadata_init_tnl Unexecuted instantiation: tnl-ports.c:pkt_metadata_init_tnl Unexecuted instantiation: tun-metadata.c:pkt_metadata_init_tnl Unexecuted instantiation: netdev-linux.c:pkt_metadata_init_tnl Unexecuted instantiation: netdev-offload-tc.c:pkt_metadata_init_tnl Unexecuted instantiation: rtnetlink.c:pkt_metadata_init_tnl Unexecuted instantiation: route-table.c:pkt_metadata_init_tnl Unexecuted instantiation: tc.c:pkt_metadata_init_tnl Unexecuted instantiation: classifier.c:pkt_metadata_init_tnl Unexecuted instantiation: dp-packet-gso.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif.c:pkt_metadata_init_tnl Unexecuted instantiation: meta-flow.c:pkt_metadata_init_tnl Unexecuted instantiation: netdev-offload.c:pkt_metadata_init_tnl Unexecuted instantiation: netdev-vport.c:pkt_metadata_init_tnl Unexecuted instantiation: netlink.c:pkt_metadata_init_tnl Unexecuted instantiation: nx-match.c:pkt_metadata_init_tnl Unexecuted instantiation: odp-execute.c:pkt_metadata_init_tnl Unexecuted instantiation: odp-execute-private.c:pkt_metadata_init_tnl Unexecuted instantiation: odp-util.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-actions.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-ct.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-ed-props.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-flow.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-group.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-match.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-meter.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-monitor.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-packet.c:pkt_metadata_init_tnl Unexecuted instantiation: ofp-parse.c:pkt_metadata_init_tnl Unexecuted instantiation: stream.c:pkt_metadata_init_tnl Unexecuted instantiation: tnl-neigh-cache.c:pkt_metadata_init_tnl Unexecuted instantiation: netdev-native-tnl.c:pkt_metadata_init_tnl Unexecuted instantiation: stream-unix.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netlink.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netlink-rtnl.c:pkt_metadata_init_tnl Unexecuted instantiation: netlink-conntrack.c:pkt_metadata_init_tnl Unexecuted instantiation: stream-ssl.c:pkt_metadata_init_tnl Unexecuted instantiation: bundle.c:pkt_metadata_init_tnl Unexecuted instantiation: conntrack.c:pkt_metadata_init_tnl Unexecuted instantiation: ct-dpif.c:pkt_metadata_init_tnl Unexecuted instantiation: dpctl.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev-private-dfc.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev-private-dpif.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev-private-extract.c:pkt_metadata_init_tnl Unexecuted instantiation: ipf.c:pkt_metadata_init_tnl Unexecuted instantiation: learn.c:pkt_metadata_init_tnl Unexecuted instantiation: multipath.c:pkt_metadata_init_tnl Unexecuted instantiation: stream-tcp.c:pkt_metadata_init_tnl Unexecuted instantiation: conntrack-icmp.c:pkt_metadata_init_tnl Unexecuted instantiation: conntrack-tcp.c:pkt_metadata_init_tnl Unexecuted instantiation: conntrack-tp.c:pkt_metadata_init_tnl Unexecuted instantiation: conntrack-other.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev-extract-study.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev-lookup.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:pkt_metadata_init_tnl Unexecuted instantiation: dpif-netdev-lookup-generic.c:pkt_metadata_init_tnl |
156 | | |
157 | | static inline void |
158 | | pkt_metadata_init_conn(struct pkt_metadata *md) |
159 | 0 | { |
160 | 0 | md->conn = NULL; |
161 | 0 | } Unexecuted instantiation: miniflow_target.c:pkt_metadata_init_conn Unexecuted instantiation: dp-packet.c:pkt_metadata_init_conn Unexecuted instantiation: flow.c:pkt_metadata_init_conn Unexecuted instantiation: match.c:pkt_metadata_init_conn Unexecuted instantiation: netdev.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-port.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-print.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-queue.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-table.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-util.c:pkt_metadata_init_conn Unexecuted instantiation: ovs-router.c:pkt_metadata_init_conn Unexecuted instantiation: packets.c:pkt_metadata_init_conn Unexecuted instantiation: smap.c:pkt_metadata_init_conn Unexecuted instantiation: socket-util.c:pkt_metadata_init_conn Unexecuted instantiation: tnl-ports.c:pkt_metadata_init_conn Unexecuted instantiation: tun-metadata.c:pkt_metadata_init_conn Unexecuted instantiation: netdev-linux.c:pkt_metadata_init_conn Unexecuted instantiation: netdev-offload-tc.c:pkt_metadata_init_conn Unexecuted instantiation: rtnetlink.c:pkt_metadata_init_conn Unexecuted instantiation: route-table.c:pkt_metadata_init_conn Unexecuted instantiation: tc.c:pkt_metadata_init_conn Unexecuted instantiation: classifier.c:pkt_metadata_init_conn Unexecuted instantiation: dp-packet-gso.c:pkt_metadata_init_conn Unexecuted instantiation: dpif.c:pkt_metadata_init_conn Unexecuted instantiation: meta-flow.c:pkt_metadata_init_conn Unexecuted instantiation: netdev-offload.c:pkt_metadata_init_conn Unexecuted instantiation: netdev-vport.c:pkt_metadata_init_conn Unexecuted instantiation: netlink.c:pkt_metadata_init_conn Unexecuted instantiation: nx-match.c:pkt_metadata_init_conn Unexecuted instantiation: odp-execute.c:pkt_metadata_init_conn Unexecuted instantiation: odp-execute-private.c:pkt_metadata_init_conn Unexecuted instantiation: odp-util.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-actions.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-ct.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-ed-props.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-flow.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-group.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-match.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-meter.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-monitor.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-packet.c:pkt_metadata_init_conn Unexecuted instantiation: ofp-parse.c:pkt_metadata_init_conn Unexecuted instantiation: stream.c:pkt_metadata_init_conn Unexecuted instantiation: tnl-neigh-cache.c:pkt_metadata_init_conn Unexecuted instantiation: netdev-native-tnl.c:pkt_metadata_init_conn Unexecuted instantiation: stream-unix.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netlink.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netlink-rtnl.c:pkt_metadata_init_conn Unexecuted instantiation: netlink-conntrack.c:pkt_metadata_init_conn Unexecuted instantiation: stream-ssl.c:pkt_metadata_init_conn Unexecuted instantiation: bundle.c:pkt_metadata_init_conn Unexecuted instantiation: conntrack.c:pkt_metadata_init_conn Unexecuted instantiation: ct-dpif.c:pkt_metadata_init_conn Unexecuted instantiation: dpctl.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev-private-dfc.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev-private-dpif.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev-private-extract.c:pkt_metadata_init_conn Unexecuted instantiation: ipf.c:pkt_metadata_init_conn Unexecuted instantiation: learn.c:pkt_metadata_init_conn Unexecuted instantiation: multipath.c:pkt_metadata_init_conn Unexecuted instantiation: stream-tcp.c:pkt_metadata_init_conn Unexecuted instantiation: conntrack-icmp.c:pkt_metadata_init_conn Unexecuted instantiation: conntrack-tcp.c:pkt_metadata_init_conn Unexecuted instantiation: conntrack-tp.c:pkt_metadata_init_conn Unexecuted instantiation: conntrack-other.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev-extract-study.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev-lookup.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:pkt_metadata_init_conn Unexecuted instantiation: dpif-netdev-lookup-generic.c:pkt_metadata_init_conn |
162 | | |
163 | | static inline void |
164 | | pkt_metadata_init(struct pkt_metadata *md, odp_port_t port) |
165 | 0 | { |
166 | | /* This is called for every packet in userspace datapath and affects |
167 | | * performance if all the metadata is initialized. Hence, fields should |
168 | | * only be zeroed out when necessary. |
169 | | * |
170 | | * Initialize only till ct_state. Once the ct_state is zeroed out rest |
171 | | * of ct fields will not be looked at unless ct_state != 0. |
172 | | */ |
173 | 0 | memset(md, 0, offsetof(struct pkt_metadata, ct_orig_tuple_ipv6)); |
174 | | |
175 | | /* It can be expensive to zero out all of the tunnel metadata. However, |
176 | | * we can just zero out ip_dst and the rest of the data will never be |
177 | | * looked at. */ |
178 | 0 | md->tunnel.ip_dst = 0; |
179 | 0 | md->tunnel.ipv6_dst = in6addr_any; |
180 | 0 | md->in_port.odp_port = port; |
181 | 0 | md->orig_in_port = port; |
182 | 0 | md->conn = NULL; |
183 | 0 | } Unexecuted instantiation: miniflow_target.c:pkt_metadata_init Unexecuted instantiation: dp-packet.c:pkt_metadata_init Unexecuted instantiation: flow.c:pkt_metadata_init Unexecuted instantiation: match.c:pkt_metadata_init Unexecuted instantiation: netdev.c:pkt_metadata_init Unexecuted instantiation: ofp-port.c:pkt_metadata_init Unexecuted instantiation: ofp-print.c:pkt_metadata_init Unexecuted instantiation: ofp-queue.c:pkt_metadata_init Unexecuted instantiation: ofp-table.c:pkt_metadata_init Unexecuted instantiation: ofp-util.c:pkt_metadata_init Unexecuted instantiation: ovs-router.c:pkt_metadata_init Unexecuted instantiation: packets.c:pkt_metadata_init Unexecuted instantiation: smap.c:pkt_metadata_init Unexecuted instantiation: socket-util.c:pkt_metadata_init Unexecuted instantiation: tnl-ports.c:pkt_metadata_init Unexecuted instantiation: tun-metadata.c:pkt_metadata_init Unexecuted instantiation: netdev-linux.c:pkt_metadata_init Unexecuted instantiation: netdev-offload-tc.c:pkt_metadata_init Unexecuted instantiation: rtnetlink.c:pkt_metadata_init Unexecuted instantiation: route-table.c:pkt_metadata_init Unexecuted instantiation: tc.c:pkt_metadata_init Unexecuted instantiation: classifier.c:pkt_metadata_init Unexecuted instantiation: dp-packet-gso.c:pkt_metadata_init Unexecuted instantiation: dpif.c:pkt_metadata_init Unexecuted instantiation: meta-flow.c:pkt_metadata_init Unexecuted instantiation: netdev-offload.c:pkt_metadata_init Unexecuted instantiation: netdev-vport.c:pkt_metadata_init Unexecuted instantiation: netlink.c:pkt_metadata_init Unexecuted instantiation: nx-match.c:pkt_metadata_init Unexecuted instantiation: odp-execute.c:pkt_metadata_init Unexecuted instantiation: odp-execute-private.c:pkt_metadata_init Unexecuted instantiation: odp-util.c:pkt_metadata_init Unexecuted instantiation: ofp-actions.c:pkt_metadata_init Unexecuted instantiation: ofp-ct.c:pkt_metadata_init Unexecuted instantiation: ofp-ed-props.c:pkt_metadata_init Unexecuted instantiation: ofp-flow.c:pkt_metadata_init Unexecuted instantiation: ofp-group.c:pkt_metadata_init Unexecuted instantiation: ofp-match.c:pkt_metadata_init Unexecuted instantiation: ofp-meter.c:pkt_metadata_init Unexecuted instantiation: ofp-monitor.c:pkt_metadata_init Unexecuted instantiation: ofp-packet.c:pkt_metadata_init Unexecuted instantiation: ofp-parse.c:pkt_metadata_init Unexecuted instantiation: stream.c:pkt_metadata_init Unexecuted instantiation: tnl-neigh-cache.c:pkt_metadata_init Unexecuted instantiation: netdev-native-tnl.c:pkt_metadata_init Unexecuted instantiation: stream-unix.c:pkt_metadata_init Unexecuted instantiation: dpif-netlink.c:pkt_metadata_init Unexecuted instantiation: dpif-netlink-rtnl.c:pkt_metadata_init Unexecuted instantiation: netlink-conntrack.c:pkt_metadata_init Unexecuted instantiation: stream-ssl.c:pkt_metadata_init Unexecuted instantiation: bundle.c:pkt_metadata_init Unexecuted instantiation: conntrack.c:pkt_metadata_init Unexecuted instantiation: ct-dpif.c:pkt_metadata_init Unexecuted instantiation: dpctl.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev-private-dfc.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev-private-dpif.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev-private-extract.c:pkt_metadata_init Unexecuted instantiation: ipf.c:pkt_metadata_init Unexecuted instantiation: learn.c:pkt_metadata_init Unexecuted instantiation: multipath.c:pkt_metadata_init Unexecuted instantiation: stream-tcp.c:pkt_metadata_init Unexecuted instantiation: conntrack-icmp.c:pkt_metadata_init Unexecuted instantiation: conntrack-tcp.c:pkt_metadata_init Unexecuted instantiation: conntrack-tp.c:pkt_metadata_init Unexecuted instantiation: conntrack-other.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev-extract-study.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev-lookup.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:pkt_metadata_init Unexecuted instantiation: dpif-netdev-lookup-generic.c:pkt_metadata_init |
184 | | |
185 | | /* This function prefetches the cachelines touched by pkt_metadata_init() |
186 | | * and pkt_metadata_init_tnl(). For performance reasons the two functions |
187 | | * should be kept in sync. */ |
188 | | static inline void |
189 | | pkt_metadata_prefetch_init(struct pkt_metadata *md) |
190 | 0 | { |
191 | | /* Prefetch cacheline0 as members till ct_state and odp_port will |
192 | | * be initialized later in pkt_metadata_init(). */ |
193 | 0 | OVS_PREFETCH(md->cacheline0); |
194 | | |
195 | | /* Prefetch cacheline1 as members of this cacheline will be zeroed out |
196 | | * in pkt_metadata_init_tnl(). */ |
197 | 0 | OVS_PREFETCH(md->cacheline1); |
198 | | |
199 | | /* Prefetch cachline2 as ip_dst & ipv6_dst fields will be initialized. */ |
200 | 0 | OVS_PREFETCH(md->cacheline2); |
201 | 0 | } Unexecuted instantiation: miniflow_target.c:pkt_metadata_prefetch_init Unexecuted instantiation: dp-packet.c:pkt_metadata_prefetch_init Unexecuted instantiation: flow.c:pkt_metadata_prefetch_init Unexecuted instantiation: match.c:pkt_metadata_prefetch_init Unexecuted instantiation: netdev.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-port.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-print.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-queue.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-table.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-util.c:pkt_metadata_prefetch_init Unexecuted instantiation: ovs-router.c:pkt_metadata_prefetch_init Unexecuted instantiation: packets.c:pkt_metadata_prefetch_init Unexecuted instantiation: smap.c:pkt_metadata_prefetch_init Unexecuted instantiation: socket-util.c:pkt_metadata_prefetch_init Unexecuted instantiation: tnl-ports.c:pkt_metadata_prefetch_init Unexecuted instantiation: tun-metadata.c:pkt_metadata_prefetch_init Unexecuted instantiation: netdev-linux.c:pkt_metadata_prefetch_init Unexecuted instantiation: netdev-offload-tc.c:pkt_metadata_prefetch_init Unexecuted instantiation: rtnetlink.c:pkt_metadata_prefetch_init Unexecuted instantiation: route-table.c:pkt_metadata_prefetch_init Unexecuted instantiation: tc.c:pkt_metadata_prefetch_init Unexecuted instantiation: classifier.c:pkt_metadata_prefetch_init Unexecuted instantiation: dp-packet-gso.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif.c:pkt_metadata_prefetch_init Unexecuted instantiation: meta-flow.c:pkt_metadata_prefetch_init Unexecuted instantiation: netdev-offload.c:pkt_metadata_prefetch_init Unexecuted instantiation: netdev-vport.c:pkt_metadata_prefetch_init Unexecuted instantiation: netlink.c:pkt_metadata_prefetch_init Unexecuted instantiation: nx-match.c:pkt_metadata_prefetch_init Unexecuted instantiation: odp-execute.c:pkt_metadata_prefetch_init Unexecuted instantiation: odp-execute-private.c:pkt_metadata_prefetch_init Unexecuted instantiation: odp-util.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-actions.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-ct.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-ed-props.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-flow.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-group.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-match.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-meter.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-monitor.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-packet.c:pkt_metadata_prefetch_init Unexecuted instantiation: ofp-parse.c:pkt_metadata_prefetch_init Unexecuted instantiation: stream.c:pkt_metadata_prefetch_init Unexecuted instantiation: tnl-neigh-cache.c:pkt_metadata_prefetch_init Unexecuted instantiation: netdev-native-tnl.c:pkt_metadata_prefetch_init Unexecuted instantiation: stream-unix.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netlink.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netlink-rtnl.c:pkt_metadata_prefetch_init Unexecuted instantiation: netlink-conntrack.c:pkt_metadata_prefetch_init Unexecuted instantiation: stream-ssl.c:pkt_metadata_prefetch_init Unexecuted instantiation: bundle.c:pkt_metadata_prefetch_init Unexecuted instantiation: conntrack.c:pkt_metadata_prefetch_init Unexecuted instantiation: ct-dpif.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpctl.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev-private-dfc.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev-private-dpif.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev-private-extract.c:pkt_metadata_prefetch_init Unexecuted instantiation: ipf.c:pkt_metadata_prefetch_init Unexecuted instantiation: learn.c:pkt_metadata_prefetch_init Unexecuted instantiation: multipath.c:pkt_metadata_prefetch_init Unexecuted instantiation: stream-tcp.c:pkt_metadata_prefetch_init Unexecuted instantiation: conntrack-icmp.c:pkt_metadata_prefetch_init Unexecuted instantiation: conntrack-tcp.c:pkt_metadata_prefetch_init Unexecuted instantiation: conntrack-tp.c:pkt_metadata_prefetch_init Unexecuted instantiation: conntrack-other.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev-extract-study.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev-lookup.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:pkt_metadata_prefetch_init Unexecuted instantiation: dpif-netdev-lookup-generic.c:pkt_metadata_prefetch_init |
202 | | |
203 | | bool dpid_from_string(const char *s, uint64_t *dpidp); |
204 | | |
205 | 0 | #define ETH_ADDR_LEN 6 |
206 | | |
207 | | static const struct eth_addr eth_addr_broadcast OVS_UNUSED |
208 | | = ETH_ADDR_C(ff,ff,ff,ff,ff,ff); |
209 | | |
210 | | static const struct eth_addr eth_addr_exact OVS_UNUSED |
211 | | = ETH_ADDR_C(ff,ff,ff,ff,ff,ff); |
212 | | |
213 | | static const struct eth_addr eth_addr_zero OVS_UNUSED |
214 | | = ETH_ADDR_C(00,00,00,00,00,00); |
215 | | static const struct eth_addr64 eth_addr64_zero OVS_UNUSED |
216 | | = ETH_ADDR64_C(00,00,00,00,00,00,00,00); |
217 | | |
218 | | static const struct eth_addr eth_addr_stp OVS_UNUSED |
219 | | = ETH_ADDR_C(01,80,c2,00,00,00); |
220 | | |
221 | | static const struct eth_addr eth_addr_lacp OVS_UNUSED |
222 | | = ETH_ADDR_C(01,80,c2,00,00,02); |
223 | | |
224 | | static const struct eth_addr eth_addr_bfd OVS_UNUSED |
225 | | = ETH_ADDR_C(00,23,20,00,00,01); |
226 | | |
227 | | static inline bool eth_addr_is_broadcast(const struct eth_addr a) |
228 | 0 | { |
229 | 0 | return (a.be16[0] & a.be16[1] & a.be16[2]) == htons(0xffff); |
230 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_is_broadcast Unexecuted instantiation: dp-packet.c:eth_addr_is_broadcast Unexecuted instantiation: flow.c:eth_addr_is_broadcast Unexecuted instantiation: match.c:eth_addr_is_broadcast Unexecuted instantiation: netdev.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-port.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-print.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-queue.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-table.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-util.c:eth_addr_is_broadcast Unexecuted instantiation: ovs-router.c:eth_addr_is_broadcast Unexecuted instantiation: packets.c:eth_addr_is_broadcast Unexecuted instantiation: smap.c:eth_addr_is_broadcast Unexecuted instantiation: socket-util.c:eth_addr_is_broadcast Unexecuted instantiation: tnl-ports.c:eth_addr_is_broadcast Unexecuted instantiation: tun-metadata.c:eth_addr_is_broadcast Unexecuted instantiation: netdev-linux.c:eth_addr_is_broadcast Unexecuted instantiation: netdev-offload-tc.c:eth_addr_is_broadcast Unexecuted instantiation: rtnetlink.c:eth_addr_is_broadcast Unexecuted instantiation: route-table.c:eth_addr_is_broadcast Unexecuted instantiation: tc.c:eth_addr_is_broadcast Unexecuted instantiation: classifier.c:eth_addr_is_broadcast Unexecuted instantiation: dp-packet-gso.c:eth_addr_is_broadcast Unexecuted instantiation: dpif.c:eth_addr_is_broadcast Unexecuted instantiation: meta-flow.c:eth_addr_is_broadcast Unexecuted instantiation: netdev-offload.c:eth_addr_is_broadcast Unexecuted instantiation: netdev-vport.c:eth_addr_is_broadcast Unexecuted instantiation: netlink.c:eth_addr_is_broadcast Unexecuted instantiation: nx-match.c:eth_addr_is_broadcast Unexecuted instantiation: odp-execute.c:eth_addr_is_broadcast Unexecuted instantiation: odp-execute-private.c:eth_addr_is_broadcast Unexecuted instantiation: odp-util.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-actions.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-ct.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-ed-props.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-flow.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-group.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-match.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-meter.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-monitor.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-packet.c:eth_addr_is_broadcast Unexecuted instantiation: ofp-parse.c:eth_addr_is_broadcast Unexecuted instantiation: stream.c:eth_addr_is_broadcast Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_is_broadcast Unexecuted instantiation: netdev-native-tnl.c:eth_addr_is_broadcast Unexecuted instantiation: stream-unix.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netlink.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_is_broadcast Unexecuted instantiation: netlink-conntrack.c:eth_addr_is_broadcast Unexecuted instantiation: stream-ssl.c:eth_addr_is_broadcast Unexecuted instantiation: bundle.c:eth_addr_is_broadcast Unexecuted instantiation: conntrack.c:eth_addr_is_broadcast Unexecuted instantiation: ct-dpif.c:eth_addr_is_broadcast Unexecuted instantiation: dpctl.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_is_broadcast Unexecuted instantiation: ipf.c:eth_addr_is_broadcast Unexecuted instantiation: learn.c:eth_addr_is_broadcast Unexecuted instantiation: multipath.c:eth_addr_is_broadcast Unexecuted instantiation: stream-tcp.c:eth_addr_is_broadcast Unexecuted instantiation: conntrack-icmp.c:eth_addr_is_broadcast Unexecuted instantiation: conntrack-tcp.c:eth_addr_is_broadcast Unexecuted instantiation: conntrack-tp.c:eth_addr_is_broadcast Unexecuted instantiation: conntrack-other.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_is_broadcast Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_is_broadcast |
231 | | |
232 | | static inline bool eth_addr_is_multicast(const struct eth_addr a) |
233 | 0 | { |
234 | 0 | return a.ea[0] & 1; |
235 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_is_multicast Unexecuted instantiation: dp-packet.c:eth_addr_is_multicast Unexecuted instantiation: flow.c:eth_addr_is_multicast Unexecuted instantiation: match.c:eth_addr_is_multicast Unexecuted instantiation: netdev.c:eth_addr_is_multicast Unexecuted instantiation: ofp-port.c:eth_addr_is_multicast Unexecuted instantiation: ofp-print.c:eth_addr_is_multicast Unexecuted instantiation: ofp-queue.c:eth_addr_is_multicast Unexecuted instantiation: ofp-table.c:eth_addr_is_multicast Unexecuted instantiation: ofp-util.c:eth_addr_is_multicast Unexecuted instantiation: ovs-router.c:eth_addr_is_multicast Unexecuted instantiation: packets.c:eth_addr_is_multicast Unexecuted instantiation: smap.c:eth_addr_is_multicast Unexecuted instantiation: socket-util.c:eth_addr_is_multicast Unexecuted instantiation: tnl-ports.c:eth_addr_is_multicast Unexecuted instantiation: tun-metadata.c:eth_addr_is_multicast Unexecuted instantiation: netdev-linux.c:eth_addr_is_multicast Unexecuted instantiation: netdev-offload-tc.c:eth_addr_is_multicast Unexecuted instantiation: rtnetlink.c:eth_addr_is_multicast Unexecuted instantiation: route-table.c:eth_addr_is_multicast Unexecuted instantiation: tc.c:eth_addr_is_multicast Unexecuted instantiation: classifier.c:eth_addr_is_multicast Unexecuted instantiation: dp-packet-gso.c:eth_addr_is_multicast Unexecuted instantiation: dpif.c:eth_addr_is_multicast Unexecuted instantiation: meta-flow.c:eth_addr_is_multicast Unexecuted instantiation: netdev-offload.c:eth_addr_is_multicast Unexecuted instantiation: netdev-vport.c:eth_addr_is_multicast Unexecuted instantiation: netlink.c:eth_addr_is_multicast Unexecuted instantiation: nx-match.c:eth_addr_is_multicast Unexecuted instantiation: odp-execute.c:eth_addr_is_multicast Unexecuted instantiation: odp-execute-private.c:eth_addr_is_multicast Unexecuted instantiation: odp-util.c:eth_addr_is_multicast Unexecuted instantiation: ofp-actions.c:eth_addr_is_multicast Unexecuted instantiation: ofp-ct.c:eth_addr_is_multicast Unexecuted instantiation: ofp-ed-props.c:eth_addr_is_multicast Unexecuted instantiation: ofp-flow.c:eth_addr_is_multicast Unexecuted instantiation: ofp-group.c:eth_addr_is_multicast Unexecuted instantiation: ofp-match.c:eth_addr_is_multicast Unexecuted instantiation: ofp-meter.c:eth_addr_is_multicast Unexecuted instantiation: ofp-monitor.c:eth_addr_is_multicast Unexecuted instantiation: ofp-packet.c:eth_addr_is_multicast Unexecuted instantiation: ofp-parse.c:eth_addr_is_multicast Unexecuted instantiation: stream.c:eth_addr_is_multicast Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_is_multicast Unexecuted instantiation: netdev-native-tnl.c:eth_addr_is_multicast Unexecuted instantiation: stream-unix.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netlink.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_is_multicast Unexecuted instantiation: netlink-conntrack.c:eth_addr_is_multicast Unexecuted instantiation: stream-ssl.c:eth_addr_is_multicast Unexecuted instantiation: bundle.c:eth_addr_is_multicast Unexecuted instantiation: conntrack.c:eth_addr_is_multicast Unexecuted instantiation: ct-dpif.c:eth_addr_is_multicast Unexecuted instantiation: dpctl.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_is_multicast Unexecuted instantiation: ipf.c:eth_addr_is_multicast Unexecuted instantiation: learn.c:eth_addr_is_multicast Unexecuted instantiation: multipath.c:eth_addr_is_multicast Unexecuted instantiation: stream-tcp.c:eth_addr_is_multicast Unexecuted instantiation: conntrack-icmp.c:eth_addr_is_multicast Unexecuted instantiation: conntrack-tcp.c:eth_addr_is_multicast Unexecuted instantiation: conntrack-tp.c:eth_addr_is_multicast Unexecuted instantiation: conntrack-other.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_is_multicast Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_is_multicast |
236 | | |
237 | | static inline bool eth_addr_is_local(const struct eth_addr a) |
238 | 0 | { |
239 | 0 | /* Local if it is either a locally administered address or a Nicira random |
240 | 0 | * address. */ |
241 | 0 | return a.ea[0] & 2 |
242 | 0 | || (a.be16[0] == htons(0x0023) |
243 | 0 | && (a.be16[1] & htons(0xff80)) == htons(0x2080)); |
244 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_is_local Unexecuted instantiation: dp-packet.c:eth_addr_is_local Unexecuted instantiation: flow.c:eth_addr_is_local Unexecuted instantiation: match.c:eth_addr_is_local Unexecuted instantiation: netdev.c:eth_addr_is_local Unexecuted instantiation: ofp-port.c:eth_addr_is_local Unexecuted instantiation: ofp-print.c:eth_addr_is_local Unexecuted instantiation: ofp-queue.c:eth_addr_is_local Unexecuted instantiation: ofp-table.c:eth_addr_is_local Unexecuted instantiation: ofp-util.c:eth_addr_is_local Unexecuted instantiation: ovs-router.c:eth_addr_is_local Unexecuted instantiation: packets.c:eth_addr_is_local Unexecuted instantiation: smap.c:eth_addr_is_local Unexecuted instantiation: socket-util.c:eth_addr_is_local Unexecuted instantiation: tnl-ports.c:eth_addr_is_local Unexecuted instantiation: tun-metadata.c:eth_addr_is_local Unexecuted instantiation: netdev-linux.c:eth_addr_is_local Unexecuted instantiation: netdev-offload-tc.c:eth_addr_is_local Unexecuted instantiation: rtnetlink.c:eth_addr_is_local Unexecuted instantiation: route-table.c:eth_addr_is_local Unexecuted instantiation: tc.c:eth_addr_is_local Unexecuted instantiation: classifier.c:eth_addr_is_local Unexecuted instantiation: dp-packet-gso.c:eth_addr_is_local Unexecuted instantiation: dpif.c:eth_addr_is_local Unexecuted instantiation: meta-flow.c:eth_addr_is_local Unexecuted instantiation: netdev-offload.c:eth_addr_is_local Unexecuted instantiation: netdev-vport.c:eth_addr_is_local Unexecuted instantiation: netlink.c:eth_addr_is_local Unexecuted instantiation: nx-match.c:eth_addr_is_local Unexecuted instantiation: odp-execute.c:eth_addr_is_local Unexecuted instantiation: odp-execute-private.c:eth_addr_is_local Unexecuted instantiation: odp-util.c:eth_addr_is_local Unexecuted instantiation: ofp-actions.c:eth_addr_is_local Unexecuted instantiation: ofp-ct.c:eth_addr_is_local Unexecuted instantiation: ofp-ed-props.c:eth_addr_is_local Unexecuted instantiation: ofp-flow.c:eth_addr_is_local Unexecuted instantiation: ofp-group.c:eth_addr_is_local Unexecuted instantiation: ofp-match.c:eth_addr_is_local Unexecuted instantiation: ofp-meter.c:eth_addr_is_local Unexecuted instantiation: ofp-monitor.c:eth_addr_is_local Unexecuted instantiation: ofp-packet.c:eth_addr_is_local Unexecuted instantiation: ofp-parse.c:eth_addr_is_local Unexecuted instantiation: stream.c:eth_addr_is_local Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_is_local Unexecuted instantiation: netdev-native-tnl.c:eth_addr_is_local Unexecuted instantiation: stream-unix.c:eth_addr_is_local Unexecuted instantiation: dpif-netlink.c:eth_addr_is_local Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_is_local Unexecuted instantiation: netlink-conntrack.c:eth_addr_is_local Unexecuted instantiation: stream-ssl.c:eth_addr_is_local Unexecuted instantiation: bundle.c:eth_addr_is_local Unexecuted instantiation: conntrack.c:eth_addr_is_local Unexecuted instantiation: ct-dpif.c:eth_addr_is_local Unexecuted instantiation: dpctl.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_is_local Unexecuted instantiation: ipf.c:eth_addr_is_local Unexecuted instantiation: learn.c:eth_addr_is_local Unexecuted instantiation: multipath.c:eth_addr_is_local Unexecuted instantiation: stream-tcp.c:eth_addr_is_local Unexecuted instantiation: conntrack-icmp.c:eth_addr_is_local Unexecuted instantiation: conntrack-tcp.c:eth_addr_is_local Unexecuted instantiation: conntrack-tp.c:eth_addr_is_local Unexecuted instantiation: conntrack-other.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_is_local Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_is_local |
245 | | static inline bool eth_addr_is_zero(const struct eth_addr a) |
246 | 0 | { |
247 | 0 | return !(a.be16[0] | a.be16[1] | a.be16[2]); |
248 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_is_zero Unexecuted instantiation: dp-packet.c:eth_addr_is_zero Unexecuted instantiation: flow.c:eth_addr_is_zero Unexecuted instantiation: match.c:eth_addr_is_zero Unexecuted instantiation: netdev.c:eth_addr_is_zero Unexecuted instantiation: ofp-port.c:eth_addr_is_zero Unexecuted instantiation: ofp-print.c:eth_addr_is_zero Unexecuted instantiation: ofp-queue.c:eth_addr_is_zero Unexecuted instantiation: ofp-table.c:eth_addr_is_zero Unexecuted instantiation: ofp-util.c:eth_addr_is_zero Unexecuted instantiation: ovs-router.c:eth_addr_is_zero Unexecuted instantiation: packets.c:eth_addr_is_zero Unexecuted instantiation: smap.c:eth_addr_is_zero Unexecuted instantiation: socket-util.c:eth_addr_is_zero Unexecuted instantiation: tnl-ports.c:eth_addr_is_zero Unexecuted instantiation: tun-metadata.c:eth_addr_is_zero Unexecuted instantiation: netdev-linux.c:eth_addr_is_zero Unexecuted instantiation: netdev-offload-tc.c:eth_addr_is_zero Unexecuted instantiation: rtnetlink.c:eth_addr_is_zero Unexecuted instantiation: route-table.c:eth_addr_is_zero Unexecuted instantiation: tc.c:eth_addr_is_zero Unexecuted instantiation: classifier.c:eth_addr_is_zero Unexecuted instantiation: dp-packet-gso.c:eth_addr_is_zero Unexecuted instantiation: dpif.c:eth_addr_is_zero Unexecuted instantiation: meta-flow.c:eth_addr_is_zero Unexecuted instantiation: netdev-offload.c:eth_addr_is_zero Unexecuted instantiation: netdev-vport.c:eth_addr_is_zero Unexecuted instantiation: netlink.c:eth_addr_is_zero Unexecuted instantiation: nx-match.c:eth_addr_is_zero Unexecuted instantiation: odp-execute.c:eth_addr_is_zero Unexecuted instantiation: odp-execute-private.c:eth_addr_is_zero Unexecuted instantiation: odp-util.c:eth_addr_is_zero Unexecuted instantiation: ofp-actions.c:eth_addr_is_zero Unexecuted instantiation: ofp-ct.c:eth_addr_is_zero Unexecuted instantiation: ofp-ed-props.c:eth_addr_is_zero Unexecuted instantiation: ofp-flow.c:eth_addr_is_zero Unexecuted instantiation: ofp-group.c:eth_addr_is_zero Unexecuted instantiation: ofp-match.c:eth_addr_is_zero Unexecuted instantiation: ofp-meter.c:eth_addr_is_zero Unexecuted instantiation: ofp-monitor.c:eth_addr_is_zero Unexecuted instantiation: ofp-packet.c:eth_addr_is_zero Unexecuted instantiation: ofp-parse.c:eth_addr_is_zero Unexecuted instantiation: stream.c:eth_addr_is_zero Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_is_zero Unexecuted instantiation: netdev-native-tnl.c:eth_addr_is_zero Unexecuted instantiation: stream-unix.c:eth_addr_is_zero Unexecuted instantiation: dpif-netlink.c:eth_addr_is_zero Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_is_zero Unexecuted instantiation: netlink-conntrack.c:eth_addr_is_zero Unexecuted instantiation: stream-ssl.c:eth_addr_is_zero Unexecuted instantiation: bundle.c:eth_addr_is_zero Unexecuted instantiation: conntrack.c:eth_addr_is_zero Unexecuted instantiation: ct-dpif.c:eth_addr_is_zero Unexecuted instantiation: dpctl.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_is_zero Unexecuted instantiation: ipf.c:eth_addr_is_zero Unexecuted instantiation: learn.c:eth_addr_is_zero Unexecuted instantiation: multipath.c:eth_addr_is_zero Unexecuted instantiation: stream-tcp.c:eth_addr_is_zero Unexecuted instantiation: conntrack-icmp.c:eth_addr_is_zero Unexecuted instantiation: conntrack-tcp.c:eth_addr_is_zero Unexecuted instantiation: conntrack-tp.c:eth_addr_is_zero Unexecuted instantiation: conntrack-other.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_is_zero Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_is_zero |
249 | | static inline bool eth_addr64_is_zero(const struct eth_addr64 a) |
250 | 0 | { |
251 | 0 | return !(a.be16[0] | a.be16[1] | a.be16[2] | a.be16[3]); |
252 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr64_is_zero Unexecuted instantiation: dp-packet.c:eth_addr64_is_zero Unexecuted instantiation: flow.c:eth_addr64_is_zero Unexecuted instantiation: match.c:eth_addr64_is_zero Unexecuted instantiation: netdev.c:eth_addr64_is_zero Unexecuted instantiation: ofp-port.c:eth_addr64_is_zero Unexecuted instantiation: ofp-print.c:eth_addr64_is_zero Unexecuted instantiation: ofp-queue.c:eth_addr64_is_zero Unexecuted instantiation: ofp-table.c:eth_addr64_is_zero Unexecuted instantiation: ofp-util.c:eth_addr64_is_zero Unexecuted instantiation: ovs-router.c:eth_addr64_is_zero Unexecuted instantiation: packets.c:eth_addr64_is_zero Unexecuted instantiation: smap.c:eth_addr64_is_zero Unexecuted instantiation: socket-util.c:eth_addr64_is_zero Unexecuted instantiation: tnl-ports.c:eth_addr64_is_zero Unexecuted instantiation: tun-metadata.c:eth_addr64_is_zero Unexecuted instantiation: netdev-linux.c:eth_addr64_is_zero Unexecuted instantiation: netdev-offload-tc.c:eth_addr64_is_zero Unexecuted instantiation: rtnetlink.c:eth_addr64_is_zero Unexecuted instantiation: route-table.c:eth_addr64_is_zero Unexecuted instantiation: tc.c:eth_addr64_is_zero Unexecuted instantiation: classifier.c:eth_addr64_is_zero Unexecuted instantiation: dp-packet-gso.c:eth_addr64_is_zero Unexecuted instantiation: dpif.c:eth_addr64_is_zero Unexecuted instantiation: meta-flow.c:eth_addr64_is_zero Unexecuted instantiation: netdev-offload.c:eth_addr64_is_zero Unexecuted instantiation: netdev-vport.c:eth_addr64_is_zero Unexecuted instantiation: netlink.c:eth_addr64_is_zero Unexecuted instantiation: nx-match.c:eth_addr64_is_zero Unexecuted instantiation: odp-execute.c:eth_addr64_is_zero Unexecuted instantiation: odp-execute-private.c:eth_addr64_is_zero Unexecuted instantiation: odp-util.c:eth_addr64_is_zero Unexecuted instantiation: ofp-actions.c:eth_addr64_is_zero Unexecuted instantiation: ofp-ct.c:eth_addr64_is_zero Unexecuted instantiation: ofp-ed-props.c:eth_addr64_is_zero Unexecuted instantiation: ofp-flow.c:eth_addr64_is_zero Unexecuted instantiation: ofp-group.c:eth_addr64_is_zero Unexecuted instantiation: ofp-match.c:eth_addr64_is_zero Unexecuted instantiation: ofp-meter.c:eth_addr64_is_zero Unexecuted instantiation: ofp-monitor.c:eth_addr64_is_zero Unexecuted instantiation: ofp-packet.c:eth_addr64_is_zero Unexecuted instantiation: ofp-parse.c:eth_addr64_is_zero Unexecuted instantiation: stream.c:eth_addr64_is_zero Unexecuted instantiation: tnl-neigh-cache.c:eth_addr64_is_zero Unexecuted instantiation: netdev-native-tnl.c:eth_addr64_is_zero Unexecuted instantiation: stream-unix.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netlink.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr64_is_zero Unexecuted instantiation: netlink-conntrack.c:eth_addr64_is_zero Unexecuted instantiation: stream-ssl.c:eth_addr64_is_zero Unexecuted instantiation: bundle.c:eth_addr64_is_zero Unexecuted instantiation: conntrack.c:eth_addr64_is_zero Unexecuted instantiation: ct-dpif.c:eth_addr64_is_zero Unexecuted instantiation: dpctl.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr64_is_zero Unexecuted instantiation: ipf.c:eth_addr64_is_zero Unexecuted instantiation: learn.c:eth_addr64_is_zero Unexecuted instantiation: multipath.c:eth_addr64_is_zero Unexecuted instantiation: stream-tcp.c:eth_addr64_is_zero Unexecuted instantiation: conntrack-icmp.c:eth_addr64_is_zero Unexecuted instantiation: conntrack-tcp.c:eth_addr64_is_zero Unexecuted instantiation: conntrack-tp.c:eth_addr64_is_zero Unexecuted instantiation: conntrack-other.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr64_is_zero Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr64_is_zero |
253 | | |
254 | | static inline int eth_mask_is_exact(const struct eth_addr a) |
255 | 0 | { |
256 | 0 | return (a.be16[0] & a.be16[1] & a.be16[2]) == htons(0xffff); |
257 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_mask_is_exact Unexecuted instantiation: dp-packet.c:eth_mask_is_exact Unexecuted instantiation: flow.c:eth_mask_is_exact Unexecuted instantiation: match.c:eth_mask_is_exact Unexecuted instantiation: netdev.c:eth_mask_is_exact Unexecuted instantiation: ofp-port.c:eth_mask_is_exact Unexecuted instantiation: ofp-print.c:eth_mask_is_exact Unexecuted instantiation: ofp-queue.c:eth_mask_is_exact Unexecuted instantiation: ofp-table.c:eth_mask_is_exact Unexecuted instantiation: ofp-util.c:eth_mask_is_exact Unexecuted instantiation: ovs-router.c:eth_mask_is_exact Unexecuted instantiation: packets.c:eth_mask_is_exact Unexecuted instantiation: smap.c:eth_mask_is_exact Unexecuted instantiation: socket-util.c:eth_mask_is_exact Unexecuted instantiation: tnl-ports.c:eth_mask_is_exact Unexecuted instantiation: tun-metadata.c:eth_mask_is_exact Unexecuted instantiation: netdev-linux.c:eth_mask_is_exact Unexecuted instantiation: netdev-offload-tc.c:eth_mask_is_exact Unexecuted instantiation: rtnetlink.c:eth_mask_is_exact Unexecuted instantiation: route-table.c:eth_mask_is_exact Unexecuted instantiation: tc.c:eth_mask_is_exact Unexecuted instantiation: classifier.c:eth_mask_is_exact Unexecuted instantiation: dp-packet-gso.c:eth_mask_is_exact Unexecuted instantiation: dpif.c:eth_mask_is_exact Unexecuted instantiation: meta-flow.c:eth_mask_is_exact Unexecuted instantiation: netdev-offload.c:eth_mask_is_exact Unexecuted instantiation: netdev-vport.c:eth_mask_is_exact Unexecuted instantiation: netlink.c:eth_mask_is_exact Unexecuted instantiation: nx-match.c:eth_mask_is_exact Unexecuted instantiation: odp-execute.c:eth_mask_is_exact Unexecuted instantiation: odp-execute-private.c:eth_mask_is_exact Unexecuted instantiation: odp-util.c:eth_mask_is_exact Unexecuted instantiation: ofp-actions.c:eth_mask_is_exact Unexecuted instantiation: ofp-ct.c:eth_mask_is_exact Unexecuted instantiation: ofp-ed-props.c:eth_mask_is_exact Unexecuted instantiation: ofp-flow.c:eth_mask_is_exact Unexecuted instantiation: ofp-group.c:eth_mask_is_exact Unexecuted instantiation: ofp-match.c:eth_mask_is_exact Unexecuted instantiation: ofp-meter.c:eth_mask_is_exact Unexecuted instantiation: ofp-monitor.c:eth_mask_is_exact Unexecuted instantiation: ofp-packet.c:eth_mask_is_exact Unexecuted instantiation: ofp-parse.c:eth_mask_is_exact Unexecuted instantiation: stream.c:eth_mask_is_exact Unexecuted instantiation: tnl-neigh-cache.c:eth_mask_is_exact Unexecuted instantiation: netdev-native-tnl.c:eth_mask_is_exact Unexecuted instantiation: stream-unix.c:eth_mask_is_exact Unexecuted instantiation: dpif-netlink.c:eth_mask_is_exact Unexecuted instantiation: dpif-netlink-rtnl.c:eth_mask_is_exact Unexecuted instantiation: netlink-conntrack.c:eth_mask_is_exact Unexecuted instantiation: stream-ssl.c:eth_mask_is_exact Unexecuted instantiation: bundle.c:eth_mask_is_exact Unexecuted instantiation: conntrack.c:eth_mask_is_exact Unexecuted instantiation: ct-dpif.c:eth_mask_is_exact Unexecuted instantiation: dpctl.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev-private-extract.c:eth_mask_is_exact Unexecuted instantiation: ipf.c:eth_mask_is_exact Unexecuted instantiation: learn.c:eth_mask_is_exact Unexecuted instantiation: multipath.c:eth_mask_is_exact Unexecuted instantiation: stream-tcp.c:eth_mask_is_exact Unexecuted instantiation: conntrack-icmp.c:eth_mask_is_exact Unexecuted instantiation: conntrack-tcp.c:eth_mask_is_exact Unexecuted instantiation: conntrack-tp.c:eth_mask_is_exact Unexecuted instantiation: conntrack-other.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev-extract-study.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev-lookup.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_mask_is_exact Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_mask_is_exact |
258 | | |
259 | | static inline int eth_addr_compare_3way(const struct eth_addr a, |
260 | | const struct eth_addr b) |
261 | 0 | { |
262 | 0 | return memcmp(&a, &b, sizeof a); |
263 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_compare_3way Unexecuted instantiation: dp-packet.c:eth_addr_compare_3way Unexecuted instantiation: flow.c:eth_addr_compare_3way Unexecuted instantiation: match.c:eth_addr_compare_3way Unexecuted instantiation: netdev.c:eth_addr_compare_3way Unexecuted instantiation: ofp-port.c:eth_addr_compare_3way Unexecuted instantiation: ofp-print.c:eth_addr_compare_3way Unexecuted instantiation: ofp-queue.c:eth_addr_compare_3way Unexecuted instantiation: ofp-table.c:eth_addr_compare_3way Unexecuted instantiation: ofp-util.c:eth_addr_compare_3way Unexecuted instantiation: ovs-router.c:eth_addr_compare_3way Unexecuted instantiation: packets.c:eth_addr_compare_3way Unexecuted instantiation: smap.c:eth_addr_compare_3way Unexecuted instantiation: socket-util.c:eth_addr_compare_3way Unexecuted instantiation: tnl-ports.c:eth_addr_compare_3way Unexecuted instantiation: tun-metadata.c:eth_addr_compare_3way Unexecuted instantiation: netdev-linux.c:eth_addr_compare_3way Unexecuted instantiation: netdev-offload-tc.c:eth_addr_compare_3way Unexecuted instantiation: rtnetlink.c:eth_addr_compare_3way Unexecuted instantiation: route-table.c:eth_addr_compare_3way Unexecuted instantiation: tc.c:eth_addr_compare_3way Unexecuted instantiation: classifier.c:eth_addr_compare_3way Unexecuted instantiation: dp-packet-gso.c:eth_addr_compare_3way Unexecuted instantiation: dpif.c:eth_addr_compare_3way Unexecuted instantiation: meta-flow.c:eth_addr_compare_3way Unexecuted instantiation: netdev-offload.c:eth_addr_compare_3way Unexecuted instantiation: netdev-vport.c:eth_addr_compare_3way Unexecuted instantiation: netlink.c:eth_addr_compare_3way Unexecuted instantiation: nx-match.c:eth_addr_compare_3way Unexecuted instantiation: odp-execute.c:eth_addr_compare_3way Unexecuted instantiation: odp-execute-private.c:eth_addr_compare_3way Unexecuted instantiation: odp-util.c:eth_addr_compare_3way Unexecuted instantiation: ofp-actions.c:eth_addr_compare_3way Unexecuted instantiation: ofp-ct.c:eth_addr_compare_3way Unexecuted instantiation: ofp-ed-props.c:eth_addr_compare_3way Unexecuted instantiation: ofp-flow.c:eth_addr_compare_3way Unexecuted instantiation: ofp-group.c:eth_addr_compare_3way Unexecuted instantiation: ofp-match.c:eth_addr_compare_3way Unexecuted instantiation: ofp-meter.c:eth_addr_compare_3way Unexecuted instantiation: ofp-monitor.c:eth_addr_compare_3way Unexecuted instantiation: ofp-packet.c:eth_addr_compare_3way Unexecuted instantiation: ofp-parse.c:eth_addr_compare_3way Unexecuted instantiation: stream.c:eth_addr_compare_3way Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_compare_3way Unexecuted instantiation: netdev-native-tnl.c:eth_addr_compare_3way Unexecuted instantiation: stream-unix.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netlink.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_compare_3way Unexecuted instantiation: netlink-conntrack.c:eth_addr_compare_3way Unexecuted instantiation: stream-ssl.c:eth_addr_compare_3way Unexecuted instantiation: bundle.c:eth_addr_compare_3way Unexecuted instantiation: conntrack.c:eth_addr_compare_3way Unexecuted instantiation: ct-dpif.c:eth_addr_compare_3way Unexecuted instantiation: dpctl.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_compare_3way Unexecuted instantiation: ipf.c:eth_addr_compare_3way Unexecuted instantiation: learn.c:eth_addr_compare_3way Unexecuted instantiation: multipath.c:eth_addr_compare_3way Unexecuted instantiation: stream-tcp.c:eth_addr_compare_3way Unexecuted instantiation: conntrack-icmp.c:eth_addr_compare_3way Unexecuted instantiation: conntrack-tcp.c:eth_addr_compare_3way Unexecuted instantiation: conntrack-tp.c:eth_addr_compare_3way Unexecuted instantiation: conntrack-other.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_compare_3way Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_compare_3way |
264 | | static inline int eth_addr64_compare_3way(const struct eth_addr64 a, |
265 | | const struct eth_addr64 b) |
266 | 0 | { |
267 | 0 | return memcmp(&a, &b, sizeof a); |
268 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr64_compare_3way Unexecuted instantiation: dp-packet.c:eth_addr64_compare_3way Unexecuted instantiation: flow.c:eth_addr64_compare_3way Unexecuted instantiation: match.c:eth_addr64_compare_3way Unexecuted instantiation: netdev.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-port.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-print.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-queue.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-table.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-util.c:eth_addr64_compare_3way Unexecuted instantiation: ovs-router.c:eth_addr64_compare_3way Unexecuted instantiation: packets.c:eth_addr64_compare_3way Unexecuted instantiation: smap.c:eth_addr64_compare_3way Unexecuted instantiation: socket-util.c:eth_addr64_compare_3way Unexecuted instantiation: tnl-ports.c:eth_addr64_compare_3way Unexecuted instantiation: tun-metadata.c:eth_addr64_compare_3way Unexecuted instantiation: netdev-linux.c:eth_addr64_compare_3way Unexecuted instantiation: netdev-offload-tc.c:eth_addr64_compare_3way Unexecuted instantiation: rtnetlink.c:eth_addr64_compare_3way Unexecuted instantiation: route-table.c:eth_addr64_compare_3way Unexecuted instantiation: tc.c:eth_addr64_compare_3way Unexecuted instantiation: classifier.c:eth_addr64_compare_3way Unexecuted instantiation: dp-packet-gso.c:eth_addr64_compare_3way Unexecuted instantiation: dpif.c:eth_addr64_compare_3way Unexecuted instantiation: meta-flow.c:eth_addr64_compare_3way Unexecuted instantiation: netdev-offload.c:eth_addr64_compare_3way Unexecuted instantiation: netdev-vport.c:eth_addr64_compare_3way Unexecuted instantiation: netlink.c:eth_addr64_compare_3way Unexecuted instantiation: nx-match.c:eth_addr64_compare_3way Unexecuted instantiation: odp-execute.c:eth_addr64_compare_3way Unexecuted instantiation: odp-execute-private.c:eth_addr64_compare_3way Unexecuted instantiation: odp-util.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-actions.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-ct.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-ed-props.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-flow.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-group.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-match.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-meter.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-monitor.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-packet.c:eth_addr64_compare_3way Unexecuted instantiation: ofp-parse.c:eth_addr64_compare_3way Unexecuted instantiation: stream.c:eth_addr64_compare_3way Unexecuted instantiation: tnl-neigh-cache.c:eth_addr64_compare_3way Unexecuted instantiation: netdev-native-tnl.c:eth_addr64_compare_3way Unexecuted instantiation: stream-unix.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netlink.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr64_compare_3way Unexecuted instantiation: netlink-conntrack.c:eth_addr64_compare_3way Unexecuted instantiation: stream-ssl.c:eth_addr64_compare_3way Unexecuted instantiation: bundle.c:eth_addr64_compare_3way Unexecuted instantiation: conntrack.c:eth_addr64_compare_3way Unexecuted instantiation: ct-dpif.c:eth_addr64_compare_3way Unexecuted instantiation: dpctl.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr64_compare_3way Unexecuted instantiation: ipf.c:eth_addr64_compare_3way Unexecuted instantiation: learn.c:eth_addr64_compare_3way Unexecuted instantiation: multipath.c:eth_addr64_compare_3way Unexecuted instantiation: stream-tcp.c:eth_addr64_compare_3way Unexecuted instantiation: conntrack-icmp.c:eth_addr64_compare_3way Unexecuted instantiation: conntrack-tcp.c:eth_addr64_compare_3way Unexecuted instantiation: conntrack-tp.c:eth_addr64_compare_3way Unexecuted instantiation: conntrack-other.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr64_compare_3way Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr64_compare_3way |
269 | | |
270 | | static inline bool eth_addr_equals(const struct eth_addr a, |
271 | | const struct eth_addr b) |
272 | 0 | { |
273 | 0 | return !eth_addr_compare_3way(a, b); |
274 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_equals Unexecuted instantiation: dp-packet.c:eth_addr_equals Unexecuted instantiation: flow.c:eth_addr_equals Unexecuted instantiation: match.c:eth_addr_equals Unexecuted instantiation: netdev.c:eth_addr_equals Unexecuted instantiation: ofp-port.c:eth_addr_equals Unexecuted instantiation: ofp-print.c:eth_addr_equals Unexecuted instantiation: ofp-queue.c:eth_addr_equals Unexecuted instantiation: ofp-table.c:eth_addr_equals Unexecuted instantiation: ofp-util.c:eth_addr_equals Unexecuted instantiation: ovs-router.c:eth_addr_equals Unexecuted instantiation: packets.c:eth_addr_equals Unexecuted instantiation: smap.c:eth_addr_equals Unexecuted instantiation: socket-util.c:eth_addr_equals Unexecuted instantiation: tnl-ports.c:eth_addr_equals Unexecuted instantiation: tun-metadata.c:eth_addr_equals Unexecuted instantiation: netdev-linux.c:eth_addr_equals Unexecuted instantiation: netdev-offload-tc.c:eth_addr_equals Unexecuted instantiation: rtnetlink.c:eth_addr_equals Unexecuted instantiation: route-table.c:eth_addr_equals Unexecuted instantiation: tc.c:eth_addr_equals Unexecuted instantiation: classifier.c:eth_addr_equals Unexecuted instantiation: dp-packet-gso.c:eth_addr_equals Unexecuted instantiation: dpif.c:eth_addr_equals Unexecuted instantiation: meta-flow.c:eth_addr_equals Unexecuted instantiation: netdev-offload.c:eth_addr_equals Unexecuted instantiation: netdev-vport.c:eth_addr_equals Unexecuted instantiation: netlink.c:eth_addr_equals Unexecuted instantiation: nx-match.c:eth_addr_equals Unexecuted instantiation: odp-execute.c:eth_addr_equals Unexecuted instantiation: odp-execute-private.c:eth_addr_equals Unexecuted instantiation: odp-util.c:eth_addr_equals Unexecuted instantiation: ofp-actions.c:eth_addr_equals Unexecuted instantiation: ofp-ct.c:eth_addr_equals Unexecuted instantiation: ofp-ed-props.c:eth_addr_equals Unexecuted instantiation: ofp-flow.c:eth_addr_equals Unexecuted instantiation: ofp-group.c:eth_addr_equals Unexecuted instantiation: ofp-match.c:eth_addr_equals Unexecuted instantiation: ofp-meter.c:eth_addr_equals Unexecuted instantiation: ofp-monitor.c:eth_addr_equals Unexecuted instantiation: ofp-packet.c:eth_addr_equals Unexecuted instantiation: ofp-parse.c:eth_addr_equals Unexecuted instantiation: stream.c:eth_addr_equals Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_equals Unexecuted instantiation: netdev-native-tnl.c:eth_addr_equals Unexecuted instantiation: stream-unix.c:eth_addr_equals Unexecuted instantiation: dpif-netlink.c:eth_addr_equals Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_equals Unexecuted instantiation: netlink-conntrack.c:eth_addr_equals Unexecuted instantiation: stream-ssl.c:eth_addr_equals Unexecuted instantiation: bundle.c:eth_addr_equals Unexecuted instantiation: conntrack.c:eth_addr_equals Unexecuted instantiation: ct-dpif.c:eth_addr_equals Unexecuted instantiation: dpctl.c:eth_addr_equals Unexecuted instantiation: dpif-netdev.c:eth_addr_equals Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_equals Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_equals Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_equals Unexecuted instantiation: ipf.c:eth_addr_equals Unexecuted instantiation: learn.c:eth_addr_equals Unexecuted instantiation: multipath.c:eth_addr_equals Unexecuted instantiation: stream-tcp.c:eth_addr_equals Unexecuted instantiation: conntrack-icmp.c:eth_addr_equals Unexecuted instantiation: conntrack-tcp.c:eth_addr_equals Unexecuted instantiation: conntrack-tp.c:eth_addr_equals Unexecuted instantiation: conntrack-other.c:eth_addr_equals Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_equals Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_equals Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_equals Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_equals |
275 | | static inline bool eth_addr64_equals(const struct eth_addr64 a, |
276 | | const struct eth_addr64 b) |
277 | 0 | { |
278 | 0 | return !eth_addr64_compare_3way(a, b); |
279 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr64_equals Unexecuted instantiation: dp-packet.c:eth_addr64_equals Unexecuted instantiation: flow.c:eth_addr64_equals Unexecuted instantiation: match.c:eth_addr64_equals Unexecuted instantiation: netdev.c:eth_addr64_equals Unexecuted instantiation: ofp-port.c:eth_addr64_equals Unexecuted instantiation: ofp-print.c:eth_addr64_equals Unexecuted instantiation: ofp-queue.c:eth_addr64_equals Unexecuted instantiation: ofp-table.c:eth_addr64_equals Unexecuted instantiation: ofp-util.c:eth_addr64_equals Unexecuted instantiation: ovs-router.c:eth_addr64_equals Unexecuted instantiation: packets.c:eth_addr64_equals Unexecuted instantiation: smap.c:eth_addr64_equals Unexecuted instantiation: socket-util.c:eth_addr64_equals Unexecuted instantiation: tnl-ports.c:eth_addr64_equals Unexecuted instantiation: tun-metadata.c:eth_addr64_equals Unexecuted instantiation: netdev-linux.c:eth_addr64_equals Unexecuted instantiation: netdev-offload-tc.c:eth_addr64_equals Unexecuted instantiation: rtnetlink.c:eth_addr64_equals Unexecuted instantiation: route-table.c:eth_addr64_equals Unexecuted instantiation: tc.c:eth_addr64_equals Unexecuted instantiation: classifier.c:eth_addr64_equals Unexecuted instantiation: dp-packet-gso.c:eth_addr64_equals Unexecuted instantiation: dpif.c:eth_addr64_equals Unexecuted instantiation: meta-flow.c:eth_addr64_equals Unexecuted instantiation: netdev-offload.c:eth_addr64_equals Unexecuted instantiation: netdev-vport.c:eth_addr64_equals Unexecuted instantiation: netlink.c:eth_addr64_equals Unexecuted instantiation: nx-match.c:eth_addr64_equals Unexecuted instantiation: odp-execute.c:eth_addr64_equals Unexecuted instantiation: odp-execute-private.c:eth_addr64_equals Unexecuted instantiation: odp-util.c:eth_addr64_equals Unexecuted instantiation: ofp-actions.c:eth_addr64_equals Unexecuted instantiation: ofp-ct.c:eth_addr64_equals Unexecuted instantiation: ofp-ed-props.c:eth_addr64_equals Unexecuted instantiation: ofp-flow.c:eth_addr64_equals Unexecuted instantiation: ofp-group.c:eth_addr64_equals Unexecuted instantiation: ofp-match.c:eth_addr64_equals Unexecuted instantiation: ofp-meter.c:eth_addr64_equals Unexecuted instantiation: ofp-monitor.c:eth_addr64_equals Unexecuted instantiation: ofp-packet.c:eth_addr64_equals Unexecuted instantiation: ofp-parse.c:eth_addr64_equals Unexecuted instantiation: stream.c:eth_addr64_equals Unexecuted instantiation: tnl-neigh-cache.c:eth_addr64_equals Unexecuted instantiation: netdev-native-tnl.c:eth_addr64_equals Unexecuted instantiation: stream-unix.c:eth_addr64_equals Unexecuted instantiation: dpif-netlink.c:eth_addr64_equals Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr64_equals Unexecuted instantiation: netlink-conntrack.c:eth_addr64_equals Unexecuted instantiation: stream-ssl.c:eth_addr64_equals Unexecuted instantiation: bundle.c:eth_addr64_equals Unexecuted instantiation: conntrack.c:eth_addr64_equals Unexecuted instantiation: ct-dpif.c:eth_addr64_equals Unexecuted instantiation: dpctl.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr64_equals Unexecuted instantiation: ipf.c:eth_addr64_equals Unexecuted instantiation: learn.c:eth_addr64_equals Unexecuted instantiation: multipath.c:eth_addr64_equals Unexecuted instantiation: stream-tcp.c:eth_addr64_equals Unexecuted instantiation: conntrack-icmp.c:eth_addr64_equals Unexecuted instantiation: conntrack-tcp.c:eth_addr64_equals Unexecuted instantiation: conntrack-tp.c:eth_addr64_equals Unexecuted instantiation: conntrack-other.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr64_equals Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr64_equals |
280 | | |
281 | | static inline bool eth_addr_equal_except(const struct eth_addr a, |
282 | | const struct eth_addr b, |
283 | | const struct eth_addr mask) |
284 | 0 | { |
285 | 0 | return !(((a.be16[0] ^ b.be16[0]) & mask.be16[0]) |
286 | 0 | || ((a.be16[1] ^ b.be16[1]) & mask.be16[1]) |
287 | 0 | || ((a.be16[2] ^ b.be16[2]) & mask.be16[2])); |
288 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_equal_except Unexecuted instantiation: dp-packet.c:eth_addr_equal_except Unexecuted instantiation: flow.c:eth_addr_equal_except Unexecuted instantiation: match.c:eth_addr_equal_except Unexecuted instantiation: netdev.c:eth_addr_equal_except Unexecuted instantiation: ofp-port.c:eth_addr_equal_except Unexecuted instantiation: ofp-print.c:eth_addr_equal_except Unexecuted instantiation: ofp-queue.c:eth_addr_equal_except Unexecuted instantiation: ofp-table.c:eth_addr_equal_except Unexecuted instantiation: ofp-util.c:eth_addr_equal_except Unexecuted instantiation: ovs-router.c:eth_addr_equal_except Unexecuted instantiation: packets.c:eth_addr_equal_except Unexecuted instantiation: smap.c:eth_addr_equal_except Unexecuted instantiation: socket-util.c:eth_addr_equal_except Unexecuted instantiation: tnl-ports.c:eth_addr_equal_except Unexecuted instantiation: tun-metadata.c:eth_addr_equal_except Unexecuted instantiation: netdev-linux.c:eth_addr_equal_except Unexecuted instantiation: netdev-offload-tc.c:eth_addr_equal_except Unexecuted instantiation: rtnetlink.c:eth_addr_equal_except Unexecuted instantiation: route-table.c:eth_addr_equal_except Unexecuted instantiation: tc.c:eth_addr_equal_except Unexecuted instantiation: classifier.c:eth_addr_equal_except Unexecuted instantiation: dp-packet-gso.c:eth_addr_equal_except Unexecuted instantiation: dpif.c:eth_addr_equal_except Unexecuted instantiation: meta-flow.c:eth_addr_equal_except Unexecuted instantiation: netdev-offload.c:eth_addr_equal_except Unexecuted instantiation: netdev-vport.c:eth_addr_equal_except Unexecuted instantiation: netlink.c:eth_addr_equal_except Unexecuted instantiation: nx-match.c:eth_addr_equal_except Unexecuted instantiation: odp-execute.c:eth_addr_equal_except Unexecuted instantiation: odp-execute-private.c:eth_addr_equal_except Unexecuted instantiation: odp-util.c:eth_addr_equal_except Unexecuted instantiation: ofp-actions.c:eth_addr_equal_except Unexecuted instantiation: ofp-ct.c:eth_addr_equal_except Unexecuted instantiation: ofp-ed-props.c:eth_addr_equal_except Unexecuted instantiation: ofp-flow.c:eth_addr_equal_except Unexecuted instantiation: ofp-group.c:eth_addr_equal_except Unexecuted instantiation: ofp-match.c:eth_addr_equal_except Unexecuted instantiation: ofp-meter.c:eth_addr_equal_except Unexecuted instantiation: ofp-monitor.c:eth_addr_equal_except Unexecuted instantiation: ofp-packet.c:eth_addr_equal_except Unexecuted instantiation: ofp-parse.c:eth_addr_equal_except Unexecuted instantiation: stream.c:eth_addr_equal_except Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_equal_except Unexecuted instantiation: netdev-native-tnl.c:eth_addr_equal_except Unexecuted instantiation: stream-unix.c:eth_addr_equal_except Unexecuted instantiation: dpif-netlink.c:eth_addr_equal_except Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_equal_except Unexecuted instantiation: netlink-conntrack.c:eth_addr_equal_except Unexecuted instantiation: stream-ssl.c:eth_addr_equal_except Unexecuted instantiation: bundle.c:eth_addr_equal_except Unexecuted instantiation: conntrack.c:eth_addr_equal_except Unexecuted instantiation: ct-dpif.c:eth_addr_equal_except Unexecuted instantiation: dpctl.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_equal_except Unexecuted instantiation: ipf.c:eth_addr_equal_except Unexecuted instantiation: learn.c:eth_addr_equal_except Unexecuted instantiation: multipath.c:eth_addr_equal_except Unexecuted instantiation: stream-tcp.c:eth_addr_equal_except Unexecuted instantiation: conntrack-icmp.c:eth_addr_equal_except Unexecuted instantiation: conntrack-tcp.c:eth_addr_equal_except Unexecuted instantiation: conntrack-tp.c:eth_addr_equal_except Unexecuted instantiation: conntrack-other.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_equal_except Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_equal_except |
289 | | |
290 | | uint64_t eth_addr_to_uint64(const struct eth_addr ea); |
291 | | |
292 | | static inline uint64_t eth_addr_vlan_to_uint64(const struct eth_addr ea, |
293 | | uint16_t vlan) |
294 | 0 | { |
295 | 0 | return (((uint64_t)vlan << 48) | eth_addr_to_uint64(ea)); |
296 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dp-packet.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: flow.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: match.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netdev.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-port.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-print.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-queue.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-table.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-util.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ovs-router.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: packets.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: smap.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: socket-util.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: tnl-ports.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: tun-metadata.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netdev-linux.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netdev-offload-tc.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: rtnetlink.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: route-table.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: tc.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: classifier.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dp-packet-gso.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: meta-flow.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netdev-offload.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netdev-vport.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netlink.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: nx-match.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: odp-execute.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: odp-execute-private.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: odp-util.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-actions.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-ct.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-ed-props.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-flow.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-group.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-match.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-meter.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-monitor.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-packet.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ofp-parse.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: stream.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netdev-native-tnl.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: stream-unix.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netlink.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: netlink-conntrack.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: stream-ssl.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: bundle.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: conntrack.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ct-dpif.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpctl.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: ipf.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: learn.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: multipath.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: stream-tcp.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: conntrack-icmp.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: conntrack-tcp.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: conntrack-tp.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: conntrack-other.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_vlan_to_uint64 Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_vlan_to_uint64 |
297 | | |
298 | | void eth_addr_from_uint64(uint64_t x, struct eth_addr *ea); |
299 | | |
300 | | static inline struct eth_addr eth_addr_invert(const struct eth_addr src) |
301 | 0 | { |
302 | 0 | struct eth_addr dst; |
303 | |
|
304 | 0 | for (int i = 0; i < ARRAY_SIZE(src.be16); i++) { |
305 | 0 | dst.be16[i] = ~src.be16[i]; |
306 | 0 | } |
307 | |
|
308 | 0 | return dst; |
309 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_invert Unexecuted instantiation: dp-packet.c:eth_addr_invert Unexecuted instantiation: flow.c:eth_addr_invert Unexecuted instantiation: match.c:eth_addr_invert Unexecuted instantiation: netdev.c:eth_addr_invert Unexecuted instantiation: ofp-port.c:eth_addr_invert Unexecuted instantiation: ofp-print.c:eth_addr_invert Unexecuted instantiation: ofp-queue.c:eth_addr_invert Unexecuted instantiation: ofp-table.c:eth_addr_invert Unexecuted instantiation: ofp-util.c:eth_addr_invert Unexecuted instantiation: ovs-router.c:eth_addr_invert Unexecuted instantiation: packets.c:eth_addr_invert Unexecuted instantiation: smap.c:eth_addr_invert Unexecuted instantiation: socket-util.c:eth_addr_invert Unexecuted instantiation: tnl-ports.c:eth_addr_invert Unexecuted instantiation: tun-metadata.c:eth_addr_invert Unexecuted instantiation: netdev-linux.c:eth_addr_invert Unexecuted instantiation: netdev-offload-tc.c:eth_addr_invert Unexecuted instantiation: rtnetlink.c:eth_addr_invert Unexecuted instantiation: route-table.c:eth_addr_invert Unexecuted instantiation: tc.c:eth_addr_invert Unexecuted instantiation: classifier.c:eth_addr_invert Unexecuted instantiation: dp-packet-gso.c:eth_addr_invert Unexecuted instantiation: dpif.c:eth_addr_invert Unexecuted instantiation: meta-flow.c:eth_addr_invert Unexecuted instantiation: netdev-offload.c:eth_addr_invert Unexecuted instantiation: netdev-vport.c:eth_addr_invert Unexecuted instantiation: netlink.c:eth_addr_invert Unexecuted instantiation: nx-match.c:eth_addr_invert Unexecuted instantiation: odp-execute.c:eth_addr_invert Unexecuted instantiation: odp-execute-private.c:eth_addr_invert Unexecuted instantiation: odp-util.c:eth_addr_invert Unexecuted instantiation: ofp-actions.c:eth_addr_invert Unexecuted instantiation: ofp-ct.c:eth_addr_invert Unexecuted instantiation: ofp-ed-props.c:eth_addr_invert Unexecuted instantiation: ofp-flow.c:eth_addr_invert Unexecuted instantiation: ofp-group.c:eth_addr_invert Unexecuted instantiation: ofp-match.c:eth_addr_invert Unexecuted instantiation: ofp-meter.c:eth_addr_invert Unexecuted instantiation: ofp-monitor.c:eth_addr_invert Unexecuted instantiation: ofp-packet.c:eth_addr_invert Unexecuted instantiation: ofp-parse.c:eth_addr_invert Unexecuted instantiation: stream.c:eth_addr_invert Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_invert Unexecuted instantiation: netdev-native-tnl.c:eth_addr_invert Unexecuted instantiation: stream-unix.c:eth_addr_invert Unexecuted instantiation: dpif-netlink.c:eth_addr_invert Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_invert Unexecuted instantiation: netlink-conntrack.c:eth_addr_invert Unexecuted instantiation: stream-ssl.c:eth_addr_invert Unexecuted instantiation: bundle.c:eth_addr_invert Unexecuted instantiation: conntrack.c:eth_addr_invert Unexecuted instantiation: ct-dpif.c:eth_addr_invert Unexecuted instantiation: dpctl.c:eth_addr_invert Unexecuted instantiation: dpif-netdev.c:eth_addr_invert Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_invert Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_invert Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_invert Unexecuted instantiation: ipf.c:eth_addr_invert Unexecuted instantiation: learn.c:eth_addr_invert Unexecuted instantiation: multipath.c:eth_addr_invert Unexecuted instantiation: stream-tcp.c:eth_addr_invert Unexecuted instantiation: conntrack-icmp.c:eth_addr_invert Unexecuted instantiation: conntrack-tcp.c:eth_addr_invert Unexecuted instantiation: conntrack-tp.c:eth_addr_invert Unexecuted instantiation: conntrack-other.c:eth_addr_invert Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_invert Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_invert Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_invert Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_invert |
310 | | |
311 | | void eth_addr_mark_random(struct eth_addr *ea); |
312 | | |
313 | | static inline void eth_addr_random(struct eth_addr *ea) |
314 | 0 | { |
315 | 0 | random_bytes((uint8_t *)ea, sizeof *ea); |
316 | 0 | eth_addr_mark_random(ea); |
317 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_random Unexecuted instantiation: dp-packet.c:eth_addr_random Unexecuted instantiation: flow.c:eth_addr_random Unexecuted instantiation: match.c:eth_addr_random Unexecuted instantiation: netdev.c:eth_addr_random Unexecuted instantiation: ofp-port.c:eth_addr_random Unexecuted instantiation: ofp-print.c:eth_addr_random Unexecuted instantiation: ofp-queue.c:eth_addr_random Unexecuted instantiation: ofp-table.c:eth_addr_random Unexecuted instantiation: ofp-util.c:eth_addr_random Unexecuted instantiation: ovs-router.c:eth_addr_random Unexecuted instantiation: packets.c:eth_addr_random Unexecuted instantiation: smap.c:eth_addr_random Unexecuted instantiation: socket-util.c:eth_addr_random Unexecuted instantiation: tnl-ports.c:eth_addr_random Unexecuted instantiation: tun-metadata.c:eth_addr_random Unexecuted instantiation: netdev-linux.c:eth_addr_random Unexecuted instantiation: netdev-offload-tc.c:eth_addr_random Unexecuted instantiation: rtnetlink.c:eth_addr_random Unexecuted instantiation: route-table.c:eth_addr_random Unexecuted instantiation: tc.c:eth_addr_random Unexecuted instantiation: classifier.c:eth_addr_random Unexecuted instantiation: dp-packet-gso.c:eth_addr_random Unexecuted instantiation: dpif.c:eth_addr_random Unexecuted instantiation: meta-flow.c:eth_addr_random Unexecuted instantiation: netdev-offload.c:eth_addr_random Unexecuted instantiation: netdev-vport.c:eth_addr_random Unexecuted instantiation: netlink.c:eth_addr_random Unexecuted instantiation: nx-match.c:eth_addr_random Unexecuted instantiation: odp-execute.c:eth_addr_random Unexecuted instantiation: odp-execute-private.c:eth_addr_random Unexecuted instantiation: odp-util.c:eth_addr_random Unexecuted instantiation: ofp-actions.c:eth_addr_random Unexecuted instantiation: ofp-ct.c:eth_addr_random Unexecuted instantiation: ofp-ed-props.c:eth_addr_random Unexecuted instantiation: ofp-flow.c:eth_addr_random Unexecuted instantiation: ofp-group.c:eth_addr_random Unexecuted instantiation: ofp-match.c:eth_addr_random Unexecuted instantiation: ofp-meter.c:eth_addr_random Unexecuted instantiation: ofp-monitor.c:eth_addr_random Unexecuted instantiation: ofp-packet.c:eth_addr_random Unexecuted instantiation: ofp-parse.c:eth_addr_random Unexecuted instantiation: stream.c:eth_addr_random Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_random Unexecuted instantiation: netdev-native-tnl.c:eth_addr_random Unexecuted instantiation: stream-unix.c:eth_addr_random Unexecuted instantiation: dpif-netlink.c:eth_addr_random Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_random Unexecuted instantiation: netlink-conntrack.c:eth_addr_random Unexecuted instantiation: stream-ssl.c:eth_addr_random Unexecuted instantiation: bundle.c:eth_addr_random Unexecuted instantiation: conntrack.c:eth_addr_random Unexecuted instantiation: ct-dpif.c:eth_addr_random Unexecuted instantiation: dpctl.c:eth_addr_random Unexecuted instantiation: dpif-netdev.c:eth_addr_random Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_random Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_random Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_random Unexecuted instantiation: ipf.c:eth_addr_random Unexecuted instantiation: learn.c:eth_addr_random Unexecuted instantiation: multipath.c:eth_addr_random Unexecuted instantiation: stream-tcp.c:eth_addr_random Unexecuted instantiation: conntrack-icmp.c:eth_addr_random Unexecuted instantiation: conntrack-tcp.c:eth_addr_random Unexecuted instantiation: conntrack-tp.c:eth_addr_random Unexecuted instantiation: conntrack-other.c:eth_addr_random Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_random Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_random Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_random Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_random |
318 | | |
319 | | static inline void eth_addr_nicira_random(struct eth_addr *ea) |
320 | 0 | { |
321 | 0 | eth_addr_random(ea); |
322 | 0 |
|
323 | 0 | /* Set the OUI to the Nicira one. */ |
324 | 0 | ea->ea[0] = 0x00; |
325 | 0 | ea->ea[1] = 0x23; |
326 | 0 | ea->ea[2] = 0x20; |
327 | 0 |
|
328 | 0 | /* Set the top bit to indicate random Nicira address. */ |
329 | 0 | ea->ea[3] |= 0x80; |
330 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_addr_nicira_random Unexecuted instantiation: dp-packet.c:eth_addr_nicira_random Unexecuted instantiation: flow.c:eth_addr_nicira_random Unexecuted instantiation: match.c:eth_addr_nicira_random Unexecuted instantiation: netdev.c:eth_addr_nicira_random Unexecuted instantiation: ofp-port.c:eth_addr_nicira_random Unexecuted instantiation: ofp-print.c:eth_addr_nicira_random Unexecuted instantiation: ofp-queue.c:eth_addr_nicira_random Unexecuted instantiation: ofp-table.c:eth_addr_nicira_random Unexecuted instantiation: ofp-util.c:eth_addr_nicira_random Unexecuted instantiation: ovs-router.c:eth_addr_nicira_random Unexecuted instantiation: packets.c:eth_addr_nicira_random Unexecuted instantiation: smap.c:eth_addr_nicira_random Unexecuted instantiation: socket-util.c:eth_addr_nicira_random Unexecuted instantiation: tnl-ports.c:eth_addr_nicira_random Unexecuted instantiation: tun-metadata.c:eth_addr_nicira_random Unexecuted instantiation: netdev-linux.c:eth_addr_nicira_random Unexecuted instantiation: netdev-offload-tc.c:eth_addr_nicira_random Unexecuted instantiation: rtnetlink.c:eth_addr_nicira_random Unexecuted instantiation: route-table.c:eth_addr_nicira_random Unexecuted instantiation: tc.c:eth_addr_nicira_random Unexecuted instantiation: classifier.c:eth_addr_nicira_random Unexecuted instantiation: dp-packet-gso.c:eth_addr_nicira_random Unexecuted instantiation: dpif.c:eth_addr_nicira_random Unexecuted instantiation: meta-flow.c:eth_addr_nicira_random Unexecuted instantiation: netdev-offload.c:eth_addr_nicira_random Unexecuted instantiation: netdev-vport.c:eth_addr_nicira_random Unexecuted instantiation: netlink.c:eth_addr_nicira_random Unexecuted instantiation: nx-match.c:eth_addr_nicira_random Unexecuted instantiation: odp-execute.c:eth_addr_nicira_random Unexecuted instantiation: odp-execute-private.c:eth_addr_nicira_random Unexecuted instantiation: odp-util.c:eth_addr_nicira_random Unexecuted instantiation: ofp-actions.c:eth_addr_nicira_random Unexecuted instantiation: ofp-ct.c:eth_addr_nicira_random Unexecuted instantiation: ofp-ed-props.c:eth_addr_nicira_random Unexecuted instantiation: ofp-flow.c:eth_addr_nicira_random Unexecuted instantiation: ofp-group.c:eth_addr_nicira_random Unexecuted instantiation: ofp-match.c:eth_addr_nicira_random Unexecuted instantiation: ofp-meter.c:eth_addr_nicira_random Unexecuted instantiation: ofp-monitor.c:eth_addr_nicira_random Unexecuted instantiation: ofp-packet.c:eth_addr_nicira_random Unexecuted instantiation: ofp-parse.c:eth_addr_nicira_random Unexecuted instantiation: stream.c:eth_addr_nicira_random Unexecuted instantiation: tnl-neigh-cache.c:eth_addr_nicira_random Unexecuted instantiation: netdev-native-tnl.c:eth_addr_nicira_random Unexecuted instantiation: stream-unix.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netlink.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netlink-rtnl.c:eth_addr_nicira_random Unexecuted instantiation: netlink-conntrack.c:eth_addr_nicira_random Unexecuted instantiation: stream-ssl.c:eth_addr_nicira_random Unexecuted instantiation: bundle.c:eth_addr_nicira_random Unexecuted instantiation: conntrack.c:eth_addr_nicira_random Unexecuted instantiation: ct-dpif.c:eth_addr_nicira_random Unexecuted instantiation: dpctl.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev-private-extract.c:eth_addr_nicira_random Unexecuted instantiation: ipf.c:eth_addr_nicira_random Unexecuted instantiation: learn.c:eth_addr_nicira_random Unexecuted instantiation: multipath.c:eth_addr_nicira_random Unexecuted instantiation: stream-tcp.c:eth_addr_nicira_random Unexecuted instantiation: conntrack-icmp.c:eth_addr_nicira_random Unexecuted instantiation: conntrack-tcp.c:eth_addr_nicira_random Unexecuted instantiation: conntrack-tp.c:eth_addr_nicira_random Unexecuted instantiation: conntrack-other.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev-extract-study.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev-lookup.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_addr_nicira_random Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_addr_nicira_random |
331 | | static inline uint32_t hash_mac(const struct eth_addr ea, |
332 | | const uint16_t vlan, const uint32_t basis) |
333 | 0 | { |
334 | 0 | return hash_uint64_basis(eth_addr_vlan_to_uint64(ea, vlan), basis); |
335 | 0 | } Unexecuted instantiation: miniflow_target.c:hash_mac Unexecuted instantiation: dp-packet.c:hash_mac Unexecuted instantiation: flow.c:hash_mac Unexecuted instantiation: match.c:hash_mac Unexecuted instantiation: netdev.c:hash_mac Unexecuted instantiation: ofp-port.c:hash_mac Unexecuted instantiation: ofp-print.c:hash_mac Unexecuted instantiation: ofp-queue.c:hash_mac Unexecuted instantiation: ofp-table.c:hash_mac Unexecuted instantiation: ofp-util.c:hash_mac Unexecuted instantiation: ovs-router.c:hash_mac Unexecuted instantiation: packets.c:hash_mac Unexecuted instantiation: smap.c:hash_mac Unexecuted instantiation: socket-util.c:hash_mac Unexecuted instantiation: tnl-ports.c:hash_mac Unexecuted instantiation: tun-metadata.c:hash_mac Unexecuted instantiation: netdev-linux.c:hash_mac Unexecuted instantiation: netdev-offload-tc.c:hash_mac Unexecuted instantiation: rtnetlink.c:hash_mac Unexecuted instantiation: route-table.c:hash_mac Unexecuted instantiation: tc.c:hash_mac Unexecuted instantiation: classifier.c:hash_mac Unexecuted instantiation: dp-packet-gso.c:hash_mac Unexecuted instantiation: dpif.c:hash_mac Unexecuted instantiation: meta-flow.c:hash_mac Unexecuted instantiation: netdev-offload.c:hash_mac Unexecuted instantiation: netdev-vport.c:hash_mac Unexecuted instantiation: netlink.c:hash_mac Unexecuted instantiation: nx-match.c:hash_mac Unexecuted instantiation: odp-execute.c:hash_mac Unexecuted instantiation: odp-execute-private.c:hash_mac Unexecuted instantiation: odp-util.c:hash_mac Unexecuted instantiation: ofp-actions.c:hash_mac Unexecuted instantiation: ofp-ct.c:hash_mac Unexecuted instantiation: ofp-ed-props.c:hash_mac Unexecuted instantiation: ofp-flow.c:hash_mac Unexecuted instantiation: ofp-group.c:hash_mac Unexecuted instantiation: ofp-match.c:hash_mac Unexecuted instantiation: ofp-meter.c:hash_mac Unexecuted instantiation: ofp-monitor.c:hash_mac Unexecuted instantiation: ofp-packet.c:hash_mac Unexecuted instantiation: ofp-parse.c:hash_mac Unexecuted instantiation: stream.c:hash_mac Unexecuted instantiation: tnl-neigh-cache.c:hash_mac Unexecuted instantiation: netdev-native-tnl.c:hash_mac Unexecuted instantiation: stream-unix.c:hash_mac Unexecuted instantiation: dpif-netlink.c:hash_mac Unexecuted instantiation: dpif-netlink-rtnl.c:hash_mac Unexecuted instantiation: netlink-conntrack.c:hash_mac Unexecuted instantiation: stream-ssl.c:hash_mac Unexecuted instantiation: bundle.c:hash_mac Unexecuted instantiation: conntrack.c:hash_mac Unexecuted instantiation: ct-dpif.c:hash_mac Unexecuted instantiation: dpctl.c:hash_mac Unexecuted instantiation: dpif-netdev.c:hash_mac Unexecuted instantiation: dpif-netdev-private-dfc.c:hash_mac Unexecuted instantiation: dpif-netdev-private-dpif.c:hash_mac Unexecuted instantiation: dpif-netdev-private-extract.c:hash_mac Unexecuted instantiation: ipf.c:hash_mac Unexecuted instantiation: learn.c:hash_mac Unexecuted instantiation: multipath.c:hash_mac Unexecuted instantiation: stream-tcp.c:hash_mac Unexecuted instantiation: conntrack-icmp.c:hash_mac Unexecuted instantiation: conntrack-tcp.c:hash_mac Unexecuted instantiation: conntrack-tp.c:hash_mac Unexecuted instantiation: conntrack-other.c:hash_mac Unexecuted instantiation: dpif-netdev-extract-study.c:hash_mac Unexecuted instantiation: dpif-netdev-lookup.c:hash_mac Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:hash_mac Unexecuted instantiation: dpif-netdev-lookup-generic.c:hash_mac |
336 | | |
337 | | bool eth_addr_is_reserved(const struct eth_addr); |
338 | | bool eth_addr_from_string(const char *, struct eth_addr *); |
339 | | |
340 | | void compose_rarp(struct dp_packet *, const struct eth_addr); |
341 | | |
342 | | void eth_push_vlan(struct dp_packet *, ovs_be16 tpid, ovs_be16 tci); |
343 | | void eth_pop_vlan(struct dp_packet *); |
344 | | |
345 | | const char *eth_from_hex(const char *hex, struct dp_packet **packetp); |
346 | | void eth_format_masked(const struct eth_addr ea, |
347 | | const struct eth_addr *mask, struct ds *s); |
348 | | |
349 | | void set_mpls_lse(struct dp_packet *, ovs_be32 label); |
350 | | void push_mpls(struct dp_packet *packet, ovs_be16 ethtype, ovs_be32 lse); |
351 | | void pop_mpls(struct dp_packet *, ovs_be16 ethtype); |
352 | | |
353 | | void set_mpls_lse_ttl(ovs_be32 *lse, uint8_t ttl); |
354 | | void set_mpls_lse_tc(ovs_be32 *lse, uint8_t tc); |
355 | | void set_mpls_lse_label(ovs_be32 *lse, ovs_be32 label); |
356 | | void set_mpls_lse_bos(ovs_be32 *lse, uint8_t bos); |
357 | | ovs_be32 set_mpls_lse_values(uint8_t ttl, uint8_t tc, uint8_t bos, |
358 | | ovs_be32 label); |
359 | | void add_mpls(struct dp_packet *packet, ovs_be16 ethtype, ovs_be32 lse, |
360 | | bool l3_encap); |
361 | | |
362 | | /* Example: |
363 | | * |
364 | | * struct eth_addr mac; |
365 | | * [...] |
366 | | * printf("The Ethernet address is "ETH_ADDR_FMT"\n", ETH_ADDR_ARGS(mac)); |
367 | | * |
368 | | */ |
369 | | #define ETH_ADDR_FMT \ |
370 | 0 | "%02"PRIx8":%02"PRIx8":%02"PRIx8":%02"PRIx8":%02"PRIx8":%02"PRIx8 |
371 | 0 | #define ETH_ADDR_ARGS(EA) ETH_ADDR_BYTES_ARGS((EA).ea) |
372 | | #define ETH_ADDR_BYTES_ARGS(EAB) \ |
373 | 0 | (EAB)[0], (EAB)[1], (EAB)[2], (EAB)[3], (EAB)[4], (EAB)[5] |
374 | | #define ETH_ADDR_STRLEN 17 |
375 | | |
376 | | /* Example: |
377 | | * |
378 | | * struct eth_addr64 eui64; |
379 | | * [...] |
380 | | * printf("The EUI-64 address is "ETH_ADDR64_FMT"\n", ETH_ADDR64_ARGS(mac)); |
381 | | * |
382 | | */ |
383 | | #define ETH_ADDR64_FMT \ |
384 | | "%02"PRIx8":%02"PRIx8":%02"PRIx8":%02"PRIx8":" \ |
385 | | "%02"PRIx8":%02"PRIx8":%02"PRIx8":%02"PRIx8 |
386 | | #define ETH_ADDR64_ARGS(EA) ETH_ADDR64_BYTES_ARGS((EA).ea64) |
387 | | #define ETH_ADDR64_BYTES_ARGS(EAB) \ |
388 | | (EAB)[0], (EAB)[1], (EAB)[2], (EAB)[3], \ |
389 | | (EAB)[4], (EAB)[5], (EAB)[6], (EAB)[7] |
390 | | #define ETH_ADDR64_STRLEN 23 |
391 | | |
392 | | /* Example: |
393 | | * |
394 | | * char *string = "1 00:11:22:33:44:55 2"; |
395 | | * struct eth_addr mac; |
396 | | * int a, b; |
397 | | * |
398 | | * if (ovs_scan(string, "%d"ETH_ADDR_SCAN_FMT"%d", |
399 | | * &a, ETH_ADDR_SCAN_ARGS(mac), &b)) { |
400 | | * ... |
401 | | * } |
402 | | */ |
403 | 0 | #define ETH_ADDR_SCAN_FMT "%"SCNx8":%"SCNx8":%"SCNx8":%"SCNx8":%"SCNx8":%"SCNx8 |
404 | | #define ETH_ADDR_SCAN_ARGS(EA) \ |
405 | 0 | &(EA).ea[0], &(EA).ea[1], &(EA).ea[2], &(EA).ea[3], &(EA).ea[4], &(EA).ea[5] |
406 | | |
407 | 0 | #define ETH_TYPE_IP 0x0800 |
408 | 0 | #define ETH_TYPE_ARP 0x0806 |
409 | 0 | #define ETH_TYPE_TEB 0x6558 |
410 | 0 | #define ETH_TYPE_VLAN_8021Q 0x8100 |
411 | 0 | #define ETH_TYPE_VLAN ETH_TYPE_VLAN_8021Q |
412 | | #define ETH_TYPE_VLAN_8021AD 0x88a8 |
413 | 0 | #define ETH_TYPE_IPV6 0x86dd |
414 | | #define ETH_TYPE_LACP 0x8809 |
415 | 0 | #define ETH_TYPE_RARP 0x8035 |
416 | 0 | #define ETH_TYPE_MPLS 0x8847 |
417 | 0 | #define ETH_TYPE_MPLS_MCAST 0x8848 |
418 | 0 | #define ETH_TYPE_NSH 0x894f |
419 | 0 | #define ETH_TYPE_ERSPAN1 0x88be /* version 1 type II */ |
420 | 0 | #define ETH_TYPE_ERSPAN2 0x22eb /* version 2 type III */ |
421 | | |
422 | | static inline bool eth_type_mpls(ovs_be16 eth_type) |
423 | 0 | { |
424 | 0 | return eth_type == htons(ETH_TYPE_MPLS) || |
425 | 0 | eth_type == htons(ETH_TYPE_MPLS_MCAST); |
426 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_type_mpls Unexecuted instantiation: dp-packet.c:eth_type_mpls Unexecuted instantiation: flow.c:eth_type_mpls Unexecuted instantiation: match.c:eth_type_mpls Unexecuted instantiation: netdev.c:eth_type_mpls Unexecuted instantiation: ofp-port.c:eth_type_mpls Unexecuted instantiation: ofp-print.c:eth_type_mpls Unexecuted instantiation: ofp-queue.c:eth_type_mpls Unexecuted instantiation: ofp-table.c:eth_type_mpls Unexecuted instantiation: ofp-util.c:eth_type_mpls Unexecuted instantiation: ovs-router.c:eth_type_mpls Unexecuted instantiation: packets.c:eth_type_mpls Unexecuted instantiation: smap.c:eth_type_mpls Unexecuted instantiation: socket-util.c:eth_type_mpls Unexecuted instantiation: tnl-ports.c:eth_type_mpls Unexecuted instantiation: tun-metadata.c:eth_type_mpls Unexecuted instantiation: netdev-linux.c:eth_type_mpls Unexecuted instantiation: netdev-offload-tc.c:eth_type_mpls Unexecuted instantiation: rtnetlink.c:eth_type_mpls Unexecuted instantiation: route-table.c:eth_type_mpls Unexecuted instantiation: tc.c:eth_type_mpls Unexecuted instantiation: classifier.c:eth_type_mpls Unexecuted instantiation: dp-packet-gso.c:eth_type_mpls Unexecuted instantiation: dpif.c:eth_type_mpls Unexecuted instantiation: meta-flow.c:eth_type_mpls Unexecuted instantiation: netdev-offload.c:eth_type_mpls Unexecuted instantiation: netdev-vport.c:eth_type_mpls Unexecuted instantiation: netlink.c:eth_type_mpls Unexecuted instantiation: nx-match.c:eth_type_mpls Unexecuted instantiation: odp-execute.c:eth_type_mpls Unexecuted instantiation: odp-execute-private.c:eth_type_mpls Unexecuted instantiation: odp-util.c:eth_type_mpls Unexecuted instantiation: ofp-actions.c:eth_type_mpls Unexecuted instantiation: ofp-ct.c:eth_type_mpls Unexecuted instantiation: ofp-ed-props.c:eth_type_mpls Unexecuted instantiation: ofp-flow.c:eth_type_mpls Unexecuted instantiation: ofp-group.c:eth_type_mpls Unexecuted instantiation: ofp-match.c:eth_type_mpls Unexecuted instantiation: ofp-meter.c:eth_type_mpls Unexecuted instantiation: ofp-monitor.c:eth_type_mpls Unexecuted instantiation: ofp-packet.c:eth_type_mpls Unexecuted instantiation: ofp-parse.c:eth_type_mpls Unexecuted instantiation: stream.c:eth_type_mpls Unexecuted instantiation: tnl-neigh-cache.c:eth_type_mpls Unexecuted instantiation: netdev-native-tnl.c:eth_type_mpls Unexecuted instantiation: stream-unix.c:eth_type_mpls Unexecuted instantiation: dpif-netlink.c:eth_type_mpls Unexecuted instantiation: dpif-netlink-rtnl.c:eth_type_mpls Unexecuted instantiation: netlink-conntrack.c:eth_type_mpls Unexecuted instantiation: stream-ssl.c:eth_type_mpls Unexecuted instantiation: bundle.c:eth_type_mpls Unexecuted instantiation: conntrack.c:eth_type_mpls Unexecuted instantiation: ct-dpif.c:eth_type_mpls Unexecuted instantiation: dpctl.c:eth_type_mpls Unexecuted instantiation: dpif-netdev.c:eth_type_mpls Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_type_mpls Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_type_mpls Unexecuted instantiation: dpif-netdev-private-extract.c:eth_type_mpls Unexecuted instantiation: ipf.c:eth_type_mpls Unexecuted instantiation: learn.c:eth_type_mpls Unexecuted instantiation: multipath.c:eth_type_mpls Unexecuted instantiation: stream-tcp.c:eth_type_mpls Unexecuted instantiation: conntrack-icmp.c:eth_type_mpls Unexecuted instantiation: conntrack-tcp.c:eth_type_mpls Unexecuted instantiation: conntrack-tp.c:eth_type_mpls Unexecuted instantiation: conntrack-other.c:eth_type_mpls Unexecuted instantiation: dpif-netdev-extract-study.c:eth_type_mpls Unexecuted instantiation: dpif-netdev-lookup.c:eth_type_mpls Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_type_mpls Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_type_mpls |
427 | | |
428 | | static inline bool eth_type_vlan(ovs_be16 eth_type) |
429 | 0 | { |
430 | 0 | return eth_type == htons(ETH_TYPE_VLAN_8021Q) || |
431 | 0 | eth_type == htons(ETH_TYPE_VLAN_8021AD); |
432 | 0 | } Unexecuted instantiation: miniflow_target.c:eth_type_vlan Unexecuted instantiation: dp-packet.c:eth_type_vlan Unexecuted instantiation: flow.c:eth_type_vlan Unexecuted instantiation: match.c:eth_type_vlan Unexecuted instantiation: netdev.c:eth_type_vlan Unexecuted instantiation: ofp-port.c:eth_type_vlan Unexecuted instantiation: ofp-print.c:eth_type_vlan Unexecuted instantiation: ofp-queue.c:eth_type_vlan Unexecuted instantiation: ofp-table.c:eth_type_vlan Unexecuted instantiation: ofp-util.c:eth_type_vlan Unexecuted instantiation: ovs-router.c:eth_type_vlan Unexecuted instantiation: packets.c:eth_type_vlan Unexecuted instantiation: smap.c:eth_type_vlan Unexecuted instantiation: socket-util.c:eth_type_vlan Unexecuted instantiation: tnl-ports.c:eth_type_vlan Unexecuted instantiation: tun-metadata.c:eth_type_vlan Unexecuted instantiation: netdev-linux.c:eth_type_vlan Unexecuted instantiation: netdev-offload-tc.c:eth_type_vlan Unexecuted instantiation: rtnetlink.c:eth_type_vlan Unexecuted instantiation: route-table.c:eth_type_vlan Unexecuted instantiation: tc.c:eth_type_vlan Unexecuted instantiation: classifier.c:eth_type_vlan Unexecuted instantiation: dp-packet-gso.c:eth_type_vlan Unexecuted instantiation: dpif.c:eth_type_vlan Unexecuted instantiation: meta-flow.c:eth_type_vlan Unexecuted instantiation: netdev-offload.c:eth_type_vlan Unexecuted instantiation: netdev-vport.c:eth_type_vlan Unexecuted instantiation: netlink.c:eth_type_vlan Unexecuted instantiation: nx-match.c:eth_type_vlan Unexecuted instantiation: odp-execute.c:eth_type_vlan Unexecuted instantiation: odp-execute-private.c:eth_type_vlan Unexecuted instantiation: odp-util.c:eth_type_vlan Unexecuted instantiation: ofp-actions.c:eth_type_vlan Unexecuted instantiation: ofp-ct.c:eth_type_vlan Unexecuted instantiation: ofp-ed-props.c:eth_type_vlan Unexecuted instantiation: ofp-flow.c:eth_type_vlan Unexecuted instantiation: ofp-group.c:eth_type_vlan Unexecuted instantiation: ofp-match.c:eth_type_vlan Unexecuted instantiation: ofp-meter.c:eth_type_vlan Unexecuted instantiation: ofp-monitor.c:eth_type_vlan Unexecuted instantiation: ofp-packet.c:eth_type_vlan Unexecuted instantiation: ofp-parse.c:eth_type_vlan Unexecuted instantiation: stream.c:eth_type_vlan Unexecuted instantiation: tnl-neigh-cache.c:eth_type_vlan Unexecuted instantiation: netdev-native-tnl.c:eth_type_vlan Unexecuted instantiation: stream-unix.c:eth_type_vlan Unexecuted instantiation: dpif-netlink.c:eth_type_vlan Unexecuted instantiation: dpif-netlink-rtnl.c:eth_type_vlan Unexecuted instantiation: netlink-conntrack.c:eth_type_vlan Unexecuted instantiation: stream-ssl.c:eth_type_vlan Unexecuted instantiation: bundle.c:eth_type_vlan Unexecuted instantiation: conntrack.c:eth_type_vlan Unexecuted instantiation: ct-dpif.c:eth_type_vlan Unexecuted instantiation: dpctl.c:eth_type_vlan Unexecuted instantiation: dpif-netdev.c:eth_type_vlan Unexecuted instantiation: dpif-netdev-private-dfc.c:eth_type_vlan Unexecuted instantiation: dpif-netdev-private-dpif.c:eth_type_vlan Unexecuted instantiation: dpif-netdev-private-extract.c:eth_type_vlan Unexecuted instantiation: ipf.c:eth_type_vlan Unexecuted instantiation: learn.c:eth_type_vlan Unexecuted instantiation: multipath.c:eth_type_vlan Unexecuted instantiation: stream-tcp.c:eth_type_vlan Unexecuted instantiation: conntrack-icmp.c:eth_type_vlan Unexecuted instantiation: conntrack-tcp.c:eth_type_vlan Unexecuted instantiation: conntrack-tp.c:eth_type_vlan Unexecuted instantiation: conntrack-other.c:eth_type_vlan Unexecuted instantiation: dpif-netdev-extract-study.c:eth_type_vlan Unexecuted instantiation: dpif-netdev-lookup.c:eth_type_vlan Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:eth_type_vlan Unexecuted instantiation: dpif-netdev-lookup-generic.c:eth_type_vlan |
433 | | |
434 | | |
435 | | /* Minimum value for an Ethernet type. Values below this are IEEE 802.2 frame |
436 | | * lengths. */ |
437 | 0 | #define ETH_TYPE_MIN 0x600 |
438 | | |
439 | 0 | #define ETH_HEADER_LEN 14 |
440 | 0 | #define ETH_PAYLOAD_MIN 46 |
441 | 0 | #define ETH_PAYLOAD_MAX 1500 |
442 | 0 | #define ETH_TOTAL_MIN (ETH_HEADER_LEN + ETH_PAYLOAD_MIN) |
443 | | #define ETH_TOTAL_MAX (ETH_HEADER_LEN + ETH_PAYLOAD_MAX) |
444 | | #define ETH_VLAN_TOTAL_MAX (ETH_HEADER_LEN + VLAN_HEADER_LEN + ETH_PAYLOAD_MAX) |
445 | | struct eth_header { |
446 | | struct eth_addr eth_dst; |
447 | | struct eth_addr eth_src; |
448 | | ovs_be16 eth_type; |
449 | | }; |
450 | | BUILD_ASSERT_DECL(ETH_HEADER_LEN == sizeof(struct eth_header)); |
451 | | |
452 | | void push_eth(struct dp_packet *packet, const struct eth_addr *dst, |
453 | | const struct eth_addr *src); |
454 | | void pop_eth(struct dp_packet *packet); |
455 | | |
456 | | void push_nsh(struct dp_packet *packet, const struct nsh_hdr *nsh_hdr_src); |
457 | | bool pop_nsh(struct dp_packet *packet); |
458 | | |
459 | | #define LLC_DSAP_SNAP 0xaa |
460 | | #define LLC_SSAP_SNAP 0xaa |
461 | | #define LLC_CNTL_SNAP 3 |
462 | | |
463 | | #define LLC_HEADER_LEN 3 |
464 | | struct llc_header { |
465 | | uint8_t llc_dsap; |
466 | | uint8_t llc_ssap; |
467 | | uint8_t llc_cntl; |
468 | | }; |
469 | | BUILD_ASSERT_DECL(LLC_HEADER_LEN == sizeof(struct llc_header)); |
470 | | |
471 | | /* LLC field values used for STP frames. */ |
472 | | #define STP_LLC_SSAP 0x42 |
473 | | #define STP_LLC_DSAP 0x42 |
474 | | #define STP_LLC_CNTL 0x03 |
475 | | |
476 | | #define SNAP_ORG_ETHERNET "\0\0" /* The compiler adds a null byte, so |
477 | | sizeof(SNAP_ORG_ETHERNET) == 3. */ |
478 | | #define SNAP_HEADER_LEN 5 |
479 | | OVS_PACKED( |
480 | | struct snap_header { |
481 | | uint8_t snap_org[3]; |
482 | | ovs_be16 snap_type; |
483 | | }); |
484 | | BUILD_ASSERT_DECL(SNAP_HEADER_LEN == sizeof(struct snap_header)); |
485 | | |
486 | | #define LLC_SNAP_HEADER_LEN (LLC_HEADER_LEN + SNAP_HEADER_LEN) |
487 | | OVS_PACKED( |
488 | | struct llc_snap_header { |
489 | | struct llc_header llc; |
490 | | struct snap_header snap; |
491 | | }); |
492 | | BUILD_ASSERT_DECL(LLC_SNAP_HEADER_LEN == sizeof(struct llc_snap_header)); |
493 | | |
494 | 0 | #define VLAN_VID_MASK 0x0fff |
495 | 0 | #define VLAN_VID_SHIFT 0 |
496 | | |
497 | 0 | #define VLAN_PCP_MASK 0xe000 |
498 | 0 | #define VLAN_PCP_SHIFT 13 |
499 | | |
500 | 0 | #define VLAN_CFI 0x1000 |
501 | 0 | #define VLAN_CFI_SHIFT 12 |
502 | | |
503 | | /* Given the vlan_tci field from an 802.1Q header, in network byte order, |
504 | | * returns the VLAN ID in host byte order. */ |
505 | | static inline uint16_t |
506 | | vlan_tci_to_vid(ovs_be16 vlan_tci) |
507 | 0 | { |
508 | 0 | return (ntohs(vlan_tci) & VLAN_VID_MASK) >> VLAN_VID_SHIFT; |
509 | 0 | } Unexecuted instantiation: miniflow_target.c:vlan_tci_to_vid Unexecuted instantiation: dp-packet.c:vlan_tci_to_vid Unexecuted instantiation: flow.c:vlan_tci_to_vid Unexecuted instantiation: match.c:vlan_tci_to_vid Unexecuted instantiation: netdev.c:vlan_tci_to_vid Unexecuted instantiation: ofp-port.c:vlan_tci_to_vid Unexecuted instantiation: ofp-print.c:vlan_tci_to_vid Unexecuted instantiation: ofp-queue.c:vlan_tci_to_vid Unexecuted instantiation: ofp-table.c:vlan_tci_to_vid Unexecuted instantiation: ofp-util.c:vlan_tci_to_vid Unexecuted instantiation: ovs-router.c:vlan_tci_to_vid Unexecuted instantiation: packets.c:vlan_tci_to_vid Unexecuted instantiation: smap.c:vlan_tci_to_vid Unexecuted instantiation: socket-util.c:vlan_tci_to_vid Unexecuted instantiation: tnl-ports.c:vlan_tci_to_vid Unexecuted instantiation: tun-metadata.c:vlan_tci_to_vid Unexecuted instantiation: netdev-linux.c:vlan_tci_to_vid Unexecuted instantiation: netdev-offload-tc.c:vlan_tci_to_vid Unexecuted instantiation: rtnetlink.c:vlan_tci_to_vid Unexecuted instantiation: route-table.c:vlan_tci_to_vid Unexecuted instantiation: tc.c:vlan_tci_to_vid Unexecuted instantiation: classifier.c:vlan_tci_to_vid Unexecuted instantiation: dp-packet-gso.c:vlan_tci_to_vid Unexecuted instantiation: dpif.c:vlan_tci_to_vid Unexecuted instantiation: meta-flow.c:vlan_tci_to_vid Unexecuted instantiation: netdev-offload.c:vlan_tci_to_vid Unexecuted instantiation: netdev-vport.c:vlan_tci_to_vid Unexecuted instantiation: netlink.c:vlan_tci_to_vid Unexecuted instantiation: nx-match.c:vlan_tci_to_vid Unexecuted instantiation: odp-execute.c:vlan_tci_to_vid Unexecuted instantiation: odp-execute-private.c:vlan_tci_to_vid Unexecuted instantiation: odp-util.c:vlan_tci_to_vid Unexecuted instantiation: ofp-actions.c:vlan_tci_to_vid Unexecuted instantiation: ofp-ct.c:vlan_tci_to_vid Unexecuted instantiation: ofp-ed-props.c:vlan_tci_to_vid Unexecuted instantiation: ofp-flow.c:vlan_tci_to_vid Unexecuted instantiation: ofp-group.c:vlan_tci_to_vid Unexecuted instantiation: ofp-match.c:vlan_tci_to_vid Unexecuted instantiation: ofp-meter.c:vlan_tci_to_vid Unexecuted instantiation: ofp-monitor.c:vlan_tci_to_vid Unexecuted instantiation: ofp-packet.c:vlan_tci_to_vid Unexecuted instantiation: ofp-parse.c:vlan_tci_to_vid Unexecuted instantiation: stream.c:vlan_tci_to_vid Unexecuted instantiation: tnl-neigh-cache.c:vlan_tci_to_vid Unexecuted instantiation: netdev-native-tnl.c:vlan_tci_to_vid Unexecuted instantiation: stream-unix.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netlink.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netlink-rtnl.c:vlan_tci_to_vid Unexecuted instantiation: netlink-conntrack.c:vlan_tci_to_vid Unexecuted instantiation: stream-ssl.c:vlan_tci_to_vid Unexecuted instantiation: bundle.c:vlan_tci_to_vid Unexecuted instantiation: conntrack.c:vlan_tci_to_vid Unexecuted instantiation: ct-dpif.c:vlan_tci_to_vid Unexecuted instantiation: dpctl.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev-private-dfc.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev-private-dpif.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev-private-extract.c:vlan_tci_to_vid Unexecuted instantiation: ipf.c:vlan_tci_to_vid Unexecuted instantiation: learn.c:vlan_tci_to_vid Unexecuted instantiation: multipath.c:vlan_tci_to_vid Unexecuted instantiation: stream-tcp.c:vlan_tci_to_vid Unexecuted instantiation: conntrack-icmp.c:vlan_tci_to_vid Unexecuted instantiation: conntrack-tcp.c:vlan_tci_to_vid Unexecuted instantiation: conntrack-tp.c:vlan_tci_to_vid Unexecuted instantiation: conntrack-other.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev-extract-study.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev-lookup.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:vlan_tci_to_vid Unexecuted instantiation: dpif-netdev-lookup-generic.c:vlan_tci_to_vid |
510 | | |
511 | | /* Given the vlan_tci field from an 802.1Q header, in network byte order, |
512 | | * returns the priority code point (PCP) in host byte order. */ |
513 | | static inline int |
514 | | vlan_tci_to_pcp(ovs_be16 vlan_tci) |
515 | 0 | { |
516 | 0 | return (ntohs(vlan_tci) & VLAN_PCP_MASK) >> VLAN_PCP_SHIFT; |
517 | 0 | } Unexecuted instantiation: miniflow_target.c:vlan_tci_to_pcp Unexecuted instantiation: dp-packet.c:vlan_tci_to_pcp Unexecuted instantiation: flow.c:vlan_tci_to_pcp Unexecuted instantiation: match.c:vlan_tci_to_pcp Unexecuted instantiation: netdev.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-port.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-print.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-queue.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-table.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-util.c:vlan_tci_to_pcp Unexecuted instantiation: ovs-router.c:vlan_tci_to_pcp Unexecuted instantiation: packets.c:vlan_tci_to_pcp Unexecuted instantiation: smap.c:vlan_tci_to_pcp Unexecuted instantiation: socket-util.c:vlan_tci_to_pcp Unexecuted instantiation: tnl-ports.c:vlan_tci_to_pcp Unexecuted instantiation: tun-metadata.c:vlan_tci_to_pcp Unexecuted instantiation: netdev-linux.c:vlan_tci_to_pcp Unexecuted instantiation: netdev-offload-tc.c:vlan_tci_to_pcp Unexecuted instantiation: rtnetlink.c:vlan_tci_to_pcp Unexecuted instantiation: route-table.c:vlan_tci_to_pcp Unexecuted instantiation: tc.c:vlan_tci_to_pcp Unexecuted instantiation: classifier.c:vlan_tci_to_pcp Unexecuted instantiation: dp-packet-gso.c:vlan_tci_to_pcp Unexecuted instantiation: dpif.c:vlan_tci_to_pcp Unexecuted instantiation: meta-flow.c:vlan_tci_to_pcp Unexecuted instantiation: netdev-offload.c:vlan_tci_to_pcp Unexecuted instantiation: netdev-vport.c:vlan_tci_to_pcp Unexecuted instantiation: netlink.c:vlan_tci_to_pcp Unexecuted instantiation: nx-match.c:vlan_tci_to_pcp Unexecuted instantiation: odp-execute.c:vlan_tci_to_pcp Unexecuted instantiation: odp-execute-private.c:vlan_tci_to_pcp Unexecuted instantiation: odp-util.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-actions.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-ct.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-ed-props.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-flow.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-group.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-match.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-meter.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-monitor.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-packet.c:vlan_tci_to_pcp Unexecuted instantiation: ofp-parse.c:vlan_tci_to_pcp Unexecuted instantiation: stream.c:vlan_tci_to_pcp Unexecuted instantiation: tnl-neigh-cache.c:vlan_tci_to_pcp Unexecuted instantiation: netdev-native-tnl.c:vlan_tci_to_pcp Unexecuted instantiation: stream-unix.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netlink.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netlink-rtnl.c:vlan_tci_to_pcp Unexecuted instantiation: netlink-conntrack.c:vlan_tci_to_pcp Unexecuted instantiation: stream-ssl.c:vlan_tci_to_pcp Unexecuted instantiation: bundle.c:vlan_tci_to_pcp Unexecuted instantiation: conntrack.c:vlan_tci_to_pcp Unexecuted instantiation: ct-dpif.c:vlan_tci_to_pcp Unexecuted instantiation: dpctl.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev-private-dfc.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev-private-dpif.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev-private-extract.c:vlan_tci_to_pcp Unexecuted instantiation: ipf.c:vlan_tci_to_pcp Unexecuted instantiation: learn.c:vlan_tci_to_pcp Unexecuted instantiation: multipath.c:vlan_tci_to_pcp Unexecuted instantiation: stream-tcp.c:vlan_tci_to_pcp Unexecuted instantiation: conntrack-icmp.c:vlan_tci_to_pcp Unexecuted instantiation: conntrack-tcp.c:vlan_tci_to_pcp Unexecuted instantiation: conntrack-tp.c:vlan_tci_to_pcp Unexecuted instantiation: conntrack-other.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev-extract-study.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev-lookup.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:vlan_tci_to_pcp Unexecuted instantiation: dpif-netdev-lookup-generic.c:vlan_tci_to_pcp |
518 | | |
519 | | /* Given the vlan_tci field from an 802.1Q header, in network byte order, |
520 | | * returns the Canonical Format Indicator (CFI). */ |
521 | | static inline int |
522 | | vlan_tci_to_cfi(ovs_be16 vlan_tci) |
523 | 0 | { |
524 | 0 | return (vlan_tci & htons(VLAN_CFI)) != 0; |
525 | 0 | } Unexecuted instantiation: miniflow_target.c:vlan_tci_to_cfi Unexecuted instantiation: dp-packet.c:vlan_tci_to_cfi Unexecuted instantiation: flow.c:vlan_tci_to_cfi Unexecuted instantiation: match.c:vlan_tci_to_cfi Unexecuted instantiation: netdev.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-port.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-print.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-queue.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-table.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-util.c:vlan_tci_to_cfi Unexecuted instantiation: ovs-router.c:vlan_tci_to_cfi Unexecuted instantiation: packets.c:vlan_tci_to_cfi Unexecuted instantiation: smap.c:vlan_tci_to_cfi Unexecuted instantiation: socket-util.c:vlan_tci_to_cfi Unexecuted instantiation: tnl-ports.c:vlan_tci_to_cfi Unexecuted instantiation: tun-metadata.c:vlan_tci_to_cfi Unexecuted instantiation: netdev-linux.c:vlan_tci_to_cfi Unexecuted instantiation: netdev-offload-tc.c:vlan_tci_to_cfi Unexecuted instantiation: rtnetlink.c:vlan_tci_to_cfi Unexecuted instantiation: route-table.c:vlan_tci_to_cfi Unexecuted instantiation: tc.c:vlan_tci_to_cfi Unexecuted instantiation: classifier.c:vlan_tci_to_cfi Unexecuted instantiation: dp-packet-gso.c:vlan_tci_to_cfi Unexecuted instantiation: dpif.c:vlan_tci_to_cfi Unexecuted instantiation: meta-flow.c:vlan_tci_to_cfi Unexecuted instantiation: netdev-offload.c:vlan_tci_to_cfi Unexecuted instantiation: netdev-vport.c:vlan_tci_to_cfi Unexecuted instantiation: netlink.c:vlan_tci_to_cfi Unexecuted instantiation: nx-match.c:vlan_tci_to_cfi Unexecuted instantiation: odp-execute.c:vlan_tci_to_cfi Unexecuted instantiation: odp-execute-private.c:vlan_tci_to_cfi Unexecuted instantiation: odp-util.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-actions.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-ct.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-ed-props.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-flow.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-group.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-match.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-meter.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-monitor.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-packet.c:vlan_tci_to_cfi Unexecuted instantiation: ofp-parse.c:vlan_tci_to_cfi Unexecuted instantiation: stream.c:vlan_tci_to_cfi Unexecuted instantiation: tnl-neigh-cache.c:vlan_tci_to_cfi Unexecuted instantiation: netdev-native-tnl.c:vlan_tci_to_cfi Unexecuted instantiation: stream-unix.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netlink.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netlink-rtnl.c:vlan_tci_to_cfi Unexecuted instantiation: netlink-conntrack.c:vlan_tci_to_cfi Unexecuted instantiation: stream-ssl.c:vlan_tci_to_cfi Unexecuted instantiation: bundle.c:vlan_tci_to_cfi Unexecuted instantiation: conntrack.c:vlan_tci_to_cfi Unexecuted instantiation: ct-dpif.c:vlan_tci_to_cfi Unexecuted instantiation: dpctl.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev-private-dfc.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev-private-dpif.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev-private-extract.c:vlan_tci_to_cfi Unexecuted instantiation: ipf.c:vlan_tci_to_cfi Unexecuted instantiation: learn.c:vlan_tci_to_cfi Unexecuted instantiation: multipath.c:vlan_tci_to_cfi Unexecuted instantiation: stream-tcp.c:vlan_tci_to_cfi Unexecuted instantiation: conntrack-icmp.c:vlan_tci_to_cfi Unexecuted instantiation: conntrack-tcp.c:vlan_tci_to_cfi Unexecuted instantiation: conntrack-tp.c:vlan_tci_to_cfi Unexecuted instantiation: conntrack-other.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev-extract-study.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev-lookup.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:vlan_tci_to_cfi Unexecuted instantiation: dpif-netdev-lookup-generic.c:vlan_tci_to_cfi |
526 | | |
527 | 0 | #define VLAN_HEADER_LEN 4 |
528 | | struct vlan_header { |
529 | | ovs_be16 vlan_tci; /* Lowest 12 bits are VLAN ID. */ |
530 | | ovs_be16 vlan_next_type; |
531 | | }; |
532 | | BUILD_ASSERT_DECL(VLAN_HEADER_LEN == sizeof(struct vlan_header)); |
533 | | |
534 | 0 | #define VLAN_ETH_HEADER_LEN (ETH_HEADER_LEN + VLAN_HEADER_LEN) |
535 | | struct vlan_eth_header { |
536 | | struct eth_addr veth_dst; |
537 | | struct eth_addr veth_src; |
538 | | ovs_be16 veth_type; /* Always htons(ETH_TYPE_VLAN). */ |
539 | | ovs_be16 veth_tci; /* Lowest 12 bits are VLAN ID. */ |
540 | | ovs_be16 veth_next_type; |
541 | | }; |
542 | | BUILD_ASSERT_DECL(VLAN_ETH_HEADER_LEN == sizeof(struct vlan_eth_header)); |
543 | | |
544 | | /* MPLS related definitions */ |
545 | 0 | #define MPLS_TTL_MASK 0x000000ff |
546 | 0 | #define MPLS_TTL_SHIFT 0 |
547 | | |
548 | 0 | #define MPLS_BOS_MASK 0x00000100 |
549 | 0 | #define MPLS_BOS_SHIFT 8 |
550 | | |
551 | 0 | #define MPLS_TC_MASK 0x00000e00 |
552 | 0 | #define MPLS_TC_SHIFT 9 |
553 | | |
554 | 0 | #define MPLS_LABEL_MASK 0xfffff000 |
555 | 0 | #define MPLS_LABEL_SHIFT 12 |
556 | | |
557 | 0 | #define MPLS_HLEN 4 |
558 | | |
559 | | struct mpls_hdr { |
560 | | ovs_16aligned_be32 mpls_lse; |
561 | | }; |
562 | | BUILD_ASSERT_DECL(MPLS_HLEN == sizeof(struct mpls_hdr)); |
563 | | |
564 | | /* Given a mpls label stack entry in network byte order |
565 | | * return mpls label in host byte order */ |
566 | | static inline uint32_t |
567 | | mpls_lse_to_label(ovs_be32 mpls_lse) |
568 | 0 | { |
569 | 0 | return (ntohl(mpls_lse) & MPLS_LABEL_MASK) >> MPLS_LABEL_SHIFT; |
570 | 0 | } Unexecuted instantiation: miniflow_target.c:mpls_lse_to_label Unexecuted instantiation: dp-packet.c:mpls_lse_to_label Unexecuted instantiation: flow.c:mpls_lse_to_label Unexecuted instantiation: match.c:mpls_lse_to_label Unexecuted instantiation: netdev.c:mpls_lse_to_label Unexecuted instantiation: ofp-port.c:mpls_lse_to_label Unexecuted instantiation: ofp-print.c:mpls_lse_to_label Unexecuted instantiation: ofp-queue.c:mpls_lse_to_label Unexecuted instantiation: ofp-table.c:mpls_lse_to_label Unexecuted instantiation: ofp-util.c:mpls_lse_to_label Unexecuted instantiation: ovs-router.c:mpls_lse_to_label Unexecuted instantiation: packets.c:mpls_lse_to_label Unexecuted instantiation: smap.c:mpls_lse_to_label Unexecuted instantiation: socket-util.c:mpls_lse_to_label Unexecuted instantiation: tnl-ports.c:mpls_lse_to_label Unexecuted instantiation: tun-metadata.c:mpls_lse_to_label Unexecuted instantiation: netdev-linux.c:mpls_lse_to_label Unexecuted instantiation: netdev-offload-tc.c:mpls_lse_to_label Unexecuted instantiation: rtnetlink.c:mpls_lse_to_label Unexecuted instantiation: route-table.c:mpls_lse_to_label Unexecuted instantiation: tc.c:mpls_lse_to_label Unexecuted instantiation: classifier.c:mpls_lse_to_label Unexecuted instantiation: dp-packet-gso.c:mpls_lse_to_label Unexecuted instantiation: dpif.c:mpls_lse_to_label Unexecuted instantiation: meta-flow.c:mpls_lse_to_label Unexecuted instantiation: netdev-offload.c:mpls_lse_to_label Unexecuted instantiation: netdev-vport.c:mpls_lse_to_label Unexecuted instantiation: netlink.c:mpls_lse_to_label Unexecuted instantiation: nx-match.c:mpls_lse_to_label Unexecuted instantiation: odp-execute.c:mpls_lse_to_label Unexecuted instantiation: odp-execute-private.c:mpls_lse_to_label Unexecuted instantiation: odp-util.c:mpls_lse_to_label Unexecuted instantiation: ofp-actions.c:mpls_lse_to_label Unexecuted instantiation: ofp-ct.c:mpls_lse_to_label Unexecuted instantiation: ofp-ed-props.c:mpls_lse_to_label Unexecuted instantiation: ofp-flow.c:mpls_lse_to_label Unexecuted instantiation: ofp-group.c:mpls_lse_to_label Unexecuted instantiation: ofp-match.c:mpls_lse_to_label Unexecuted instantiation: ofp-meter.c:mpls_lse_to_label Unexecuted instantiation: ofp-monitor.c:mpls_lse_to_label Unexecuted instantiation: ofp-packet.c:mpls_lse_to_label Unexecuted instantiation: ofp-parse.c:mpls_lse_to_label Unexecuted instantiation: stream.c:mpls_lse_to_label Unexecuted instantiation: tnl-neigh-cache.c:mpls_lse_to_label Unexecuted instantiation: netdev-native-tnl.c:mpls_lse_to_label Unexecuted instantiation: stream-unix.c:mpls_lse_to_label Unexecuted instantiation: dpif-netlink.c:mpls_lse_to_label Unexecuted instantiation: dpif-netlink-rtnl.c:mpls_lse_to_label Unexecuted instantiation: netlink-conntrack.c:mpls_lse_to_label Unexecuted instantiation: stream-ssl.c:mpls_lse_to_label Unexecuted instantiation: bundle.c:mpls_lse_to_label Unexecuted instantiation: conntrack.c:mpls_lse_to_label Unexecuted instantiation: ct-dpif.c:mpls_lse_to_label Unexecuted instantiation: dpctl.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev-private-dfc.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev-private-dpif.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev-private-extract.c:mpls_lse_to_label Unexecuted instantiation: ipf.c:mpls_lse_to_label Unexecuted instantiation: learn.c:mpls_lse_to_label Unexecuted instantiation: multipath.c:mpls_lse_to_label Unexecuted instantiation: stream-tcp.c:mpls_lse_to_label Unexecuted instantiation: conntrack-icmp.c:mpls_lse_to_label Unexecuted instantiation: conntrack-tcp.c:mpls_lse_to_label Unexecuted instantiation: conntrack-tp.c:mpls_lse_to_label Unexecuted instantiation: conntrack-other.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev-extract-study.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev-lookup.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:mpls_lse_to_label Unexecuted instantiation: dpif-netdev-lookup-generic.c:mpls_lse_to_label |
571 | | |
572 | | /* Given a mpls label stack entry in network byte order |
573 | | * return mpls tc */ |
574 | | static inline uint8_t |
575 | | mpls_lse_to_tc(ovs_be32 mpls_lse) |
576 | 0 | { |
577 | 0 | return (ntohl(mpls_lse) & MPLS_TC_MASK) >> MPLS_TC_SHIFT; |
578 | 0 | } Unexecuted instantiation: miniflow_target.c:mpls_lse_to_tc Unexecuted instantiation: dp-packet.c:mpls_lse_to_tc Unexecuted instantiation: flow.c:mpls_lse_to_tc Unexecuted instantiation: match.c:mpls_lse_to_tc Unexecuted instantiation: netdev.c:mpls_lse_to_tc Unexecuted instantiation: ofp-port.c:mpls_lse_to_tc Unexecuted instantiation: ofp-print.c:mpls_lse_to_tc Unexecuted instantiation: ofp-queue.c:mpls_lse_to_tc Unexecuted instantiation: ofp-table.c:mpls_lse_to_tc Unexecuted instantiation: ofp-util.c:mpls_lse_to_tc Unexecuted instantiation: ovs-router.c:mpls_lse_to_tc Unexecuted instantiation: packets.c:mpls_lse_to_tc Unexecuted instantiation: smap.c:mpls_lse_to_tc Unexecuted instantiation: socket-util.c:mpls_lse_to_tc Unexecuted instantiation: tnl-ports.c:mpls_lse_to_tc Unexecuted instantiation: tun-metadata.c:mpls_lse_to_tc Unexecuted instantiation: netdev-linux.c:mpls_lse_to_tc Unexecuted instantiation: netdev-offload-tc.c:mpls_lse_to_tc Unexecuted instantiation: rtnetlink.c:mpls_lse_to_tc Unexecuted instantiation: route-table.c:mpls_lse_to_tc Unexecuted instantiation: tc.c:mpls_lse_to_tc Unexecuted instantiation: classifier.c:mpls_lse_to_tc Unexecuted instantiation: dp-packet-gso.c:mpls_lse_to_tc Unexecuted instantiation: dpif.c:mpls_lse_to_tc Unexecuted instantiation: meta-flow.c:mpls_lse_to_tc Unexecuted instantiation: netdev-offload.c:mpls_lse_to_tc Unexecuted instantiation: netdev-vport.c:mpls_lse_to_tc Unexecuted instantiation: netlink.c:mpls_lse_to_tc Unexecuted instantiation: nx-match.c:mpls_lse_to_tc Unexecuted instantiation: odp-execute.c:mpls_lse_to_tc Unexecuted instantiation: odp-execute-private.c:mpls_lse_to_tc Unexecuted instantiation: odp-util.c:mpls_lse_to_tc Unexecuted instantiation: ofp-actions.c:mpls_lse_to_tc Unexecuted instantiation: ofp-ct.c:mpls_lse_to_tc Unexecuted instantiation: ofp-ed-props.c:mpls_lse_to_tc Unexecuted instantiation: ofp-flow.c:mpls_lse_to_tc Unexecuted instantiation: ofp-group.c:mpls_lse_to_tc Unexecuted instantiation: ofp-match.c:mpls_lse_to_tc Unexecuted instantiation: ofp-meter.c:mpls_lse_to_tc Unexecuted instantiation: ofp-monitor.c:mpls_lse_to_tc Unexecuted instantiation: ofp-packet.c:mpls_lse_to_tc Unexecuted instantiation: ofp-parse.c:mpls_lse_to_tc Unexecuted instantiation: stream.c:mpls_lse_to_tc Unexecuted instantiation: tnl-neigh-cache.c:mpls_lse_to_tc Unexecuted instantiation: netdev-native-tnl.c:mpls_lse_to_tc Unexecuted instantiation: stream-unix.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netlink.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netlink-rtnl.c:mpls_lse_to_tc Unexecuted instantiation: netlink-conntrack.c:mpls_lse_to_tc Unexecuted instantiation: stream-ssl.c:mpls_lse_to_tc Unexecuted instantiation: bundle.c:mpls_lse_to_tc Unexecuted instantiation: conntrack.c:mpls_lse_to_tc Unexecuted instantiation: ct-dpif.c:mpls_lse_to_tc Unexecuted instantiation: dpctl.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev-private-dfc.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev-private-dpif.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev-private-extract.c:mpls_lse_to_tc Unexecuted instantiation: ipf.c:mpls_lse_to_tc Unexecuted instantiation: learn.c:mpls_lse_to_tc Unexecuted instantiation: multipath.c:mpls_lse_to_tc Unexecuted instantiation: stream-tcp.c:mpls_lse_to_tc Unexecuted instantiation: conntrack-icmp.c:mpls_lse_to_tc Unexecuted instantiation: conntrack-tcp.c:mpls_lse_to_tc Unexecuted instantiation: conntrack-tp.c:mpls_lse_to_tc Unexecuted instantiation: conntrack-other.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev-extract-study.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev-lookup.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:mpls_lse_to_tc Unexecuted instantiation: dpif-netdev-lookup-generic.c:mpls_lse_to_tc |
579 | | |
580 | | /* Given a mpls label stack entry in network byte order |
581 | | * return mpls ttl */ |
582 | | static inline uint8_t |
583 | | mpls_lse_to_ttl(ovs_be32 mpls_lse) |
584 | 0 | { |
585 | 0 | return (ntohl(mpls_lse) & MPLS_TTL_MASK) >> MPLS_TTL_SHIFT; |
586 | 0 | } Unexecuted instantiation: miniflow_target.c:mpls_lse_to_ttl Unexecuted instantiation: dp-packet.c:mpls_lse_to_ttl Unexecuted instantiation: flow.c:mpls_lse_to_ttl Unexecuted instantiation: match.c:mpls_lse_to_ttl Unexecuted instantiation: netdev.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-port.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-print.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-queue.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-table.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-util.c:mpls_lse_to_ttl Unexecuted instantiation: ovs-router.c:mpls_lse_to_ttl Unexecuted instantiation: packets.c:mpls_lse_to_ttl Unexecuted instantiation: smap.c:mpls_lse_to_ttl Unexecuted instantiation: socket-util.c:mpls_lse_to_ttl Unexecuted instantiation: tnl-ports.c:mpls_lse_to_ttl Unexecuted instantiation: tun-metadata.c:mpls_lse_to_ttl Unexecuted instantiation: netdev-linux.c:mpls_lse_to_ttl Unexecuted instantiation: netdev-offload-tc.c:mpls_lse_to_ttl Unexecuted instantiation: rtnetlink.c:mpls_lse_to_ttl Unexecuted instantiation: route-table.c:mpls_lse_to_ttl Unexecuted instantiation: tc.c:mpls_lse_to_ttl Unexecuted instantiation: classifier.c:mpls_lse_to_ttl Unexecuted instantiation: dp-packet-gso.c:mpls_lse_to_ttl Unexecuted instantiation: dpif.c:mpls_lse_to_ttl Unexecuted instantiation: meta-flow.c:mpls_lse_to_ttl Unexecuted instantiation: netdev-offload.c:mpls_lse_to_ttl Unexecuted instantiation: netdev-vport.c:mpls_lse_to_ttl Unexecuted instantiation: netlink.c:mpls_lse_to_ttl Unexecuted instantiation: nx-match.c:mpls_lse_to_ttl Unexecuted instantiation: odp-execute.c:mpls_lse_to_ttl Unexecuted instantiation: odp-execute-private.c:mpls_lse_to_ttl Unexecuted instantiation: odp-util.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-actions.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-ct.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-ed-props.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-flow.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-group.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-match.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-meter.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-monitor.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-packet.c:mpls_lse_to_ttl Unexecuted instantiation: ofp-parse.c:mpls_lse_to_ttl Unexecuted instantiation: stream.c:mpls_lse_to_ttl Unexecuted instantiation: tnl-neigh-cache.c:mpls_lse_to_ttl Unexecuted instantiation: netdev-native-tnl.c:mpls_lse_to_ttl Unexecuted instantiation: stream-unix.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netlink.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netlink-rtnl.c:mpls_lse_to_ttl Unexecuted instantiation: netlink-conntrack.c:mpls_lse_to_ttl Unexecuted instantiation: stream-ssl.c:mpls_lse_to_ttl Unexecuted instantiation: bundle.c:mpls_lse_to_ttl Unexecuted instantiation: conntrack.c:mpls_lse_to_ttl Unexecuted instantiation: ct-dpif.c:mpls_lse_to_ttl Unexecuted instantiation: dpctl.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev-private-dfc.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev-private-dpif.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev-private-extract.c:mpls_lse_to_ttl Unexecuted instantiation: ipf.c:mpls_lse_to_ttl Unexecuted instantiation: learn.c:mpls_lse_to_ttl Unexecuted instantiation: multipath.c:mpls_lse_to_ttl Unexecuted instantiation: stream-tcp.c:mpls_lse_to_ttl Unexecuted instantiation: conntrack-icmp.c:mpls_lse_to_ttl Unexecuted instantiation: conntrack-tcp.c:mpls_lse_to_ttl Unexecuted instantiation: conntrack-tp.c:mpls_lse_to_ttl Unexecuted instantiation: conntrack-other.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev-extract-study.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev-lookup.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:mpls_lse_to_ttl Unexecuted instantiation: dpif-netdev-lookup-generic.c:mpls_lse_to_ttl |
587 | | |
588 | | /* Set label in mpls lse. */ |
589 | | static inline void |
590 | | flow_set_mpls_lse_label(ovs_be32 *mpls_lse, uint32_t label) |
591 | 0 | { |
592 | 0 | *mpls_lse &= ~htonl(MPLS_LABEL_MASK); |
593 | 0 | *mpls_lse |= htonl(label << MPLS_LABEL_SHIFT); |
594 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_set_mpls_lse_label Unexecuted instantiation: dp-packet.c:flow_set_mpls_lse_label Unexecuted instantiation: flow.c:flow_set_mpls_lse_label Unexecuted instantiation: match.c:flow_set_mpls_lse_label Unexecuted instantiation: netdev.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-port.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-print.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-queue.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-table.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-util.c:flow_set_mpls_lse_label Unexecuted instantiation: ovs-router.c:flow_set_mpls_lse_label Unexecuted instantiation: packets.c:flow_set_mpls_lse_label Unexecuted instantiation: smap.c:flow_set_mpls_lse_label Unexecuted instantiation: socket-util.c:flow_set_mpls_lse_label Unexecuted instantiation: tnl-ports.c:flow_set_mpls_lse_label Unexecuted instantiation: tun-metadata.c:flow_set_mpls_lse_label Unexecuted instantiation: netdev-linux.c:flow_set_mpls_lse_label Unexecuted instantiation: netdev-offload-tc.c:flow_set_mpls_lse_label Unexecuted instantiation: rtnetlink.c:flow_set_mpls_lse_label Unexecuted instantiation: route-table.c:flow_set_mpls_lse_label Unexecuted instantiation: tc.c:flow_set_mpls_lse_label Unexecuted instantiation: classifier.c:flow_set_mpls_lse_label Unexecuted instantiation: dp-packet-gso.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif.c:flow_set_mpls_lse_label Unexecuted instantiation: meta-flow.c:flow_set_mpls_lse_label Unexecuted instantiation: netdev-offload.c:flow_set_mpls_lse_label Unexecuted instantiation: netdev-vport.c:flow_set_mpls_lse_label Unexecuted instantiation: netlink.c:flow_set_mpls_lse_label Unexecuted instantiation: nx-match.c:flow_set_mpls_lse_label Unexecuted instantiation: odp-execute.c:flow_set_mpls_lse_label Unexecuted instantiation: odp-execute-private.c:flow_set_mpls_lse_label Unexecuted instantiation: odp-util.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-actions.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-ct.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-ed-props.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-flow.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-group.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-match.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-meter.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-monitor.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-packet.c:flow_set_mpls_lse_label Unexecuted instantiation: ofp-parse.c:flow_set_mpls_lse_label Unexecuted instantiation: stream.c:flow_set_mpls_lse_label Unexecuted instantiation: tnl-neigh-cache.c:flow_set_mpls_lse_label Unexecuted instantiation: netdev-native-tnl.c:flow_set_mpls_lse_label Unexecuted instantiation: stream-unix.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netlink.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netlink-rtnl.c:flow_set_mpls_lse_label Unexecuted instantiation: netlink-conntrack.c:flow_set_mpls_lse_label Unexecuted instantiation: stream-ssl.c:flow_set_mpls_lse_label Unexecuted instantiation: bundle.c:flow_set_mpls_lse_label Unexecuted instantiation: conntrack.c:flow_set_mpls_lse_label Unexecuted instantiation: ct-dpif.c:flow_set_mpls_lse_label Unexecuted instantiation: dpctl.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev-private-extract.c:flow_set_mpls_lse_label Unexecuted instantiation: ipf.c:flow_set_mpls_lse_label Unexecuted instantiation: learn.c:flow_set_mpls_lse_label Unexecuted instantiation: multipath.c:flow_set_mpls_lse_label Unexecuted instantiation: stream-tcp.c:flow_set_mpls_lse_label Unexecuted instantiation: conntrack-icmp.c:flow_set_mpls_lse_label Unexecuted instantiation: conntrack-tcp.c:flow_set_mpls_lse_label Unexecuted instantiation: conntrack-tp.c:flow_set_mpls_lse_label Unexecuted instantiation: conntrack-other.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev-extract-study.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev-lookup.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_set_mpls_lse_label Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_set_mpls_lse_label |
595 | | |
596 | | /* Set TC in mpls lse. */ |
597 | | static inline void |
598 | | flow_set_mpls_lse_tc(ovs_be32 *mpls_lse, uint8_t tc) |
599 | 0 | { |
600 | 0 | *mpls_lse &= ~htonl(MPLS_TC_MASK); |
601 | 0 | *mpls_lse |= htonl((tc & 0x7) << MPLS_TC_SHIFT); |
602 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_set_mpls_lse_tc Unexecuted instantiation: dp-packet.c:flow_set_mpls_lse_tc Unexecuted instantiation: flow.c:flow_set_mpls_lse_tc Unexecuted instantiation: match.c:flow_set_mpls_lse_tc Unexecuted instantiation: netdev.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-port.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-print.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-queue.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-table.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-util.c:flow_set_mpls_lse_tc Unexecuted instantiation: ovs-router.c:flow_set_mpls_lse_tc Unexecuted instantiation: packets.c:flow_set_mpls_lse_tc Unexecuted instantiation: smap.c:flow_set_mpls_lse_tc Unexecuted instantiation: socket-util.c:flow_set_mpls_lse_tc Unexecuted instantiation: tnl-ports.c:flow_set_mpls_lse_tc Unexecuted instantiation: tun-metadata.c:flow_set_mpls_lse_tc Unexecuted instantiation: netdev-linux.c:flow_set_mpls_lse_tc Unexecuted instantiation: netdev-offload-tc.c:flow_set_mpls_lse_tc Unexecuted instantiation: rtnetlink.c:flow_set_mpls_lse_tc Unexecuted instantiation: route-table.c:flow_set_mpls_lse_tc Unexecuted instantiation: tc.c:flow_set_mpls_lse_tc Unexecuted instantiation: classifier.c:flow_set_mpls_lse_tc Unexecuted instantiation: dp-packet-gso.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif.c:flow_set_mpls_lse_tc Unexecuted instantiation: meta-flow.c:flow_set_mpls_lse_tc Unexecuted instantiation: netdev-offload.c:flow_set_mpls_lse_tc Unexecuted instantiation: netdev-vport.c:flow_set_mpls_lse_tc Unexecuted instantiation: netlink.c:flow_set_mpls_lse_tc Unexecuted instantiation: nx-match.c:flow_set_mpls_lse_tc Unexecuted instantiation: odp-execute.c:flow_set_mpls_lse_tc Unexecuted instantiation: odp-execute-private.c:flow_set_mpls_lse_tc Unexecuted instantiation: odp-util.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-actions.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-ct.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-ed-props.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-flow.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-group.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-match.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-meter.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-monitor.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-packet.c:flow_set_mpls_lse_tc Unexecuted instantiation: ofp-parse.c:flow_set_mpls_lse_tc Unexecuted instantiation: stream.c:flow_set_mpls_lse_tc Unexecuted instantiation: tnl-neigh-cache.c:flow_set_mpls_lse_tc Unexecuted instantiation: netdev-native-tnl.c:flow_set_mpls_lse_tc Unexecuted instantiation: stream-unix.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netlink.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netlink-rtnl.c:flow_set_mpls_lse_tc Unexecuted instantiation: netlink-conntrack.c:flow_set_mpls_lse_tc Unexecuted instantiation: stream-ssl.c:flow_set_mpls_lse_tc Unexecuted instantiation: bundle.c:flow_set_mpls_lse_tc Unexecuted instantiation: conntrack.c:flow_set_mpls_lse_tc Unexecuted instantiation: ct-dpif.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpctl.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev-private-extract.c:flow_set_mpls_lse_tc Unexecuted instantiation: ipf.c:flow_set_mpls_lse_tc Unexecuted instantiation: learn.c:flow_set_mpls_lse_tc Unexecuted instantiation: multipath.c:flow_set_mpls_lse_tc Unexecuted instantiation: stream-tcp.c:flow_set_mpls_lse_tc Unexecuted instantiation: conntrack-icmp.c:flow_set_mpls_lse_tc Unexecuted instantiation: conntrack-tcp.c:flow_set_mpls_lse_tc Unexecuted instantiation: conntrack-tp.c:flow_set_mpls_lse_tc Unexecuted instantiation: conntrack-other.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev-extract-study.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev-lookup.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_set_mpls_lse_tc Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_set_mpls_lse_tc |
603 | | |
604 | | /* Set BOS in mpls lse. */ |
605 | | static inline void |
606 | | flow_set_mpls_lse_bos(ovs_be32 *mpls_lse, uint8_t bos) |
607 | 0 | { |
608 | 0 | *mpls_lse &= ~htonl(MPLS_BOS_MASK); |
609 | 0 | *mpls_lse |= htonl((bos & 0x1) << MPLS_BOS_SHIFT); |
610 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_set_mpls_lse_bos Unexecuted instantiation: dp-packet.c:flow_set_mpls_lse_bos Unexecuted instantiation: flow.c:flow_set_mpls_lse_bos Unexecuted instantiation: match.c:flow_set_mpls_lse_bos Unexecuted instantiation: netdev.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-port.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-print.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-queue.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-table.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-util.c:flow_set_mpls_lse_bos Unexecuted instantiation: ovs-router.c:flow_set_mpls_lse_bos Unexecuted instantiation: packets.c:flow_set_mpls_lse_bos Unexecuted instantiation: smap.c:flow_set_mpls_lse_bos Unexecuted instantiation: socket-util.c:flow_set_mpls_lse_bos Unexecuted instantiation: tnl-ports.c:flow_set_mpls_lse_bos Unexecuted instantiation: tun-metadata.c:flow_set_mpls_lse_bos Unexecuted instantiation: netdev-linux.c:flow_set_mpls_lse_bos Unexecuted instantiation: netdev-offload-tc.c:flow_set_mpls_lse_bos Unexecuted instantiation: rtnetlink.c:flow_set_mpls_lse_bos Unexecuted instantiation: route-table.c:flow_set_mpls_lse_bos Unexecuted instantiation: tc.c:flow_set_mpls_lse_bos Unexecuted instantiation: classifier.c:flow_set_mpls_lse_bos Unexecuted instantiation: dp-packet-gso.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif.c:flow_set_mpls_lse_bos Unexecuted instantiation: meta-flow.c:flow_set_mpls_lse_bos Unexecuted instantiation: netdev-offload.c:flow_set_mpls_lse_bos Unexecuted instantiation: netdev-vport.c:flow_set_mpls_lse_bos Unexecuted instantiation: netlink.c:flow_set_mpls_lse_bos Unexecuted instantiation: nx-match.c:flow_set_mpls_lse_bos Unexecuted instantiation: odp-execute.c:flow_set_mpls_lse_bos Unexecuted instantiation: odp-execute-private.c:flow_set_mpls_lse_bos Unexecuted instantiation: odp-util.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-actions.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-ct.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-ed-props.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-flow.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-group.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-match.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-meter.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-monitor.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-packet.c:flow_set_mpls_lse_bos Unexecuted instantiation: ofp-parse.c:flow_set_mpls_lse_bos Unexecuted instantiation: stream.c:flow_set_mpls_lse_bos Unexecuted instantiation: tnl-neigh-cache.c:flow_set_mpls_lse_bos Unexecuted instantiation: netdev-native-tnl.c:flow_set_mpls_lse_bos Unexecuted instantiation: stream-unix.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netlink.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netlink-rtnl.c:flow_set_mpls_lse_bos Unexecuted instantiation: netlink-conntrack.c:flow_set_mpls_lse_bos Unexecuted instantiation: stream-ssl.c:flow_set_mpls_lse_bos Unexecuted instantiation: bundle.c:flow_set_mpls_lse_bos Unexecuted instantiation: conntrack.c:flow_set_mpls_lse_bos Unexecuted instantiation: ct-dpif.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpctl.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev-private-extract.c:flow_set_mpls_lse_bos Unexecuted instantiation: ipf.c:flow_set_mpls_lse_bos Unexecuted instantiation: learn.c:flow_set_mpls_lse_bos Unexecuted instantiation: multipath.c:flow_set_mpls_lse_bos Unexecuted instantiation: stream-tcp.c:flow_set_mpls_lse_bos Unexecuted instantiation: conntrack-icmp.c:flow_set_mpls_lse_bos Unexecuted instantiation: conntrack-tcp.c:flow_set_mpls_lse_bos Unexecuted instantiation: conntrack-tp.c:flow_set_mpls_lse_bos Unexecuted instantiation: conntrack-other.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev-extract-study.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev-lookup.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_set_mpls_lse_bos Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_set_mpls_lse_bos |
611 | | |
612 | | /* Set TTL in mpls lse. */ |
613 | | static inline void |
614 | | flow_set_mpls_lse_ttl(ovs_be32 *mpls_lse, uint8_t ttl) |
615 | 0 | { |
616 | 0 | *mpls_lse &= ~htonl(MPLS_TTL_MASK); |
617 | 0 | *mpls_lse |= htonl(ttl << MPLS_TTL_SHIFT); |
618 | 0 | } Unexecuted instantiation: miniflow_target.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dp-packet.c:flow_set_mpls_lse_ttl Unexecuted instantiation: flow.c:flow_set_mpls_lse_ttl Unexecuted instantiation: match.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netdev.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-port.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-print.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-queue.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-table.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-util.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ovs-router.c:flow_set_mpls_lse_ttl Unexecuted instantiation: packets.c:flow_set_mpls_lse_ttl Unexecuted instantiation: smap.c:flow_set_mpls_lse_ttl Unexecuted instantiation: socket-util.c:flow_set_mpls_lse_ttl Unexecuted instantiation: tnl-ports.c:flow_set_mpls_lse_ttl Unexecuted instantiation: tun-metadata.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netdev-linux.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netdev-offload-tc.c:flow_set_mpls_lse_ttl Unexecuted instantiation: rtnetlink.c:flow_set_mpls_lse_ttl Unexecuted instantiation: route-table.c:flow_set_mpls_lse_ttl Unexecuted instantiation: tc.c:flow_set_mpls_lse_ttl Unexecuted instantiation: classifier.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dp-packet-gso.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif.c:flow_set_mpls_lse_ttl Unexecuted instantiation: meta-flow.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netdev-offload.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netdev-vport.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netlink.c:flow_set_mpls_lse_ttl Unexecuted instantiation: nx-match.c:flow_set_mpls_lse_ttl Unexecuted instantiation: odp-execute.c:flow_set_mpls_lse_ttl Unexecuted instantiation: odp-execute-private.c:flow_set_mpls_lse_ttl Unexecuted instantiation: odp-util.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-actions.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-ct.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-ed-props.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-flow.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-group.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-match.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-meter.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-monitor.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-packet.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ofp-parse.c:flow_set_mpls_lse_ttl Unexecuted instantiation: stream.c:flow_set_mpls_lse_ttl Unexecuted instantiation: tnl-neigh-cache.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netdev-native-tnl.c:flow_set_mpls_lse_ttl Unexecuted instantiation: stream-unix.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netlink.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netlink-rtnl.c:flow_set_mpls_lse_ttl Unexecuted instantiation: netlink-conntrack.c:flow_set_mpls_lse_ttl Unexecuted instantiation: stream-ssl.c:flow_set_mpls_lse_ttl Unexecuted instantiation: bundle.c:flow_set_mpls_lse_ttl Unexecuted instantiation: conntrack.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ct-dpif.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpctl.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev-private-dfc.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev-private-dpif.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev-private-extract.c:flow_set_mpls_lse_ttl Unexecuted instantiation: ipf.c:flow_set_mpls_lse_ttl Unexecuted instantiation: learn.c:flow_set_mpls_lse_ttl Unexecuted instantiation: multipath.c:flow_set_mpls_lse_ttl Unexecuted instantiation: stream-tcp.c:flow_set_mpls_lse_ttl Unexecuted instantiation: conntrack-icmp.c:flow_set_mpls_lse_ttl Unexecuted instantiation: conntrack-tcp.c:flow_set_mpls_lse_ttl Unexecuted instantiation: conntrack-tp.c:flow_set_mpls_lse_ttl Unexecuted instantiation: conntrack-other.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev-extract-study.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev-lookup.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:flow_set_mpls_lse_ttl Unexecuted instantiation: dpif-netdev-lookup-generic.c:flow_set_mpls_lse_ttl |
619 | | |
620 | | /* Given a mpls label stack entry in network byte order |
621 | | * return mpls BoS bit */ |
622 | | static inline uint8_t |
623 | | mpls_lse_to_bos(ovs_be32 mpls_lse) |
624 | 0 | { |
625 | 0 | return (mpls_lse & htonl(MPLS_BOS_MASK)) != 0; |
626 | 0 | } Unexecuted instantiation: miniflow_target.c:mpls_lse_to_bos Unexecuted instantiation: dp-packet.c:mpls_lse_to_bos Unexecuted instantiation: flow.c:mpls_lse_to_bos Unexecuted instantiation: match.c:mpls_lse_to_bos Unexecuted instantiation: netdev.c:mpls_lse_to_bos Unexecuted instantiation: ofp-port.c:mpls_lse_to_bos Unexecuted instantiation: ofp-print.c:mpls_lse_to_bos Unexecuted instantiation: ofp-queue.c:mpls_lse_to_bos Unexecuted instantiation: ofp-table.c:mpls_lse_to_bos Unexecuted instantiation: ofp-util.c:mpls_lse_to_bos Unexecuted instantiation: ovs-router.c:mpls_lse_to_bos Unexecuted instantiation: packets.c:mpls_lse_to_bos Unexecuted instantiation: smap.c:mpls_lse_to_bos Unexecuted instantiation: socket-util.c:mpls_lse_to_bos Unexecuted instantiation: tnl-ports.c:mpls_lse_to_bos Unexecuted instantiation: tun-metadata.c:mpls_lse_to_bos Unexecuted instantiation: netdev-linux.c:mpls_lse_to_bos Unexecuted instantiation: netdev-offload-tc.c:mpls_lse_to_bos Unexecuted instantiation: rtnetlink.c:mpls_lse_to_bos Unexecuted instantiation: route-table.c:mpls_lse_to_bos Unexecuted instantiation: tc.c:mpls_lse_to_bos Unexecuted instantiation: classifier.c:mpls_lse_to_bos Unexecuted instantiation: dp-packet-gso.c:mpls_lse_to_bos Unexecuted instantiation: dpif.c:mpls_lse_to_bos Unexecuted instantiation: meta-flow.c:mpls_lse_to_bos Unexecuted instantiation: netdev-offload.c:mpls_lse_to_bos Unexecuted instantiation: netdev-vport.c:mpls_lse_to_bos Unexecuted instantiation: netlink.c:mpls_lse_to_bos Unexecuted instantiation: nx-match.c:mpls_lse_to_bos Unexecuted instantiation: odp-execute.c:mpls_lse_to_bos Unexecuted instantiation: odp-execute-private.c:mpls_lse_to_bos Unexecuted instantiation: odp-util.c:mpls_lse_to_bos Unexecuted instantiation: ofp-actions.c:mpls_lse_to_bos Unexecuted instantiation: ofp-ct.c:mpls_lse_to_bos Unexecuted instantiation: ofp-ed-props.c:mpls_lse_to_bos Unexecuted instantiation: ofp-flow.c:mpls_lse_to_bos Unexecuted instantiation: ofp-group.c:mpls_lse_to_bos Unexecuted instantiation: ofp-match.c:mpls_lse_to_bos Unexecuted instantiation: ofp-meter.c:mpls_lse_to_bos Unexecuted instantiation: ofp-monitor.c:mpls_lse_to_bos Unexecuted instantiation: ofp-packet.c:mpls_lse_to_bos Unexecuted instantiation: ofp-parse.c:mpls_lse_to_bos Unexecuted instantiation: stream.c:mpls_lse_to_bos Unexecuted instantiation: tnl-neigh-cache.c:mpls_lse_to_bos Unexecuted instantiation: netdev-native-tnl.c:mpls_lse_to_bos Unexecuted instantiation: stream-unix.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netlink.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netlink-rtnl.c:mpls_lse_to_bos Unexecuted instantiation: netlink-conntrack.c:mpls_lse_to_bos Unexecuted instantiation: stream-ssl.c:mpls_lse_to_bos Unexecuted instantiation: bundle.c:mpls_lse_to_bos Unexecuted instantiation: conntrack.c:mpls_lse_to_bos Unexecuted instantiation: ct-dpif.c:mpls_lse_to_bos Unexecuted instantiation: dpctl.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev-private-dfc.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev-private-dpif.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev-private-extract.c:mpls_lse_to_bos Unexecuted instantiation: ipf.c:mpls_lse_to_bos Unexecuted instantiation: learn.c:mpls_lse_to_bos Unexecuted instantiation: multipath.c:mpls_lse_to_bos Unexecuted instantiation: stream-tcp.c:mpls_lse_to_bos Unexecuted instantiation: conntrack-icmp.c:mpls_lse_to_bos Unexecuted instantiation: conntrack-tcp.c:mpls_lse_to_bos Unexecuted instantiation: conntrack-tp.c:mpls_lse_to_bos Unexecuted instantiation: conntrack-other.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev-extract-study.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev-lookup.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:mpls_lse_to_bos Unexecuted instantiation: dpif-netdev-lookup-generic.c:mpls_lse_to_bos |
627 | | |
628 | 0 | #define IP_FMT "%"PRIu32".%"PRIu32".%"PRIu32".%"PRIu32 |
629 | | #define IP_ARGS(ip) \ |
630 | 0 | ntohl(ip) >> 24, \ |
631 | 0 | (ntohl(ip) >> 16) & 0xff, \ |
632 | 0 | (ntohl(ip) >> 8) & 0xff, \ |
633 | 0 | ntohl(ip) & 0xff |
634 | | |
635 | | /* Example: |
636 | | * |
637 | | * char *string = "1 33.44.55.66 2"; |
638 | | * ovs_be32 ip; |
639 | | * int a, b; |
640 | | * |
641 | | * if (ovs_scan(string, "%d"IP_SCAN_FMT"%d", &a, IP_SCAN_ARGS(&ip), &b)) { |
642 | | * ... |
643 | | * } |
644 | | */ |
645 | 0 | #define IP_SCAN_FMT "%"SCNu8".%"SCNu8".%"SCNu8".%"SCNu8 |
646 | | #define IP_SCAN_ARGS(ip) \ |
647 | 0 | ((void) (ovs_be32) *(ip), &((uint8_t *) ip)[0]), \ |
648 | 0 | &((uint8_t *) ip)[1], \ |
649 | 0 | &((uint8_t *) ip)[2], \ |
650 | 0 | &((uint8_t *) ip)[3] |
651 | | |
652 | 0 | #define IP_PORT_SCAN_FMT "%"SCNu8".%"SCNu8".%"SCNu8".%"SCNu8":%"SCNu16 |
653 | | #define IP_PORT_SCAN_ARGS(ip, port) \ |
654 | 0 | ((void) (ovs_be32) *(ip), &((uint8_t *) ip)[0]), \ |
655 | 0 | &((uint8_t *) ip)[1], \ |
656 | 0 | &((uint8_t *) ip)[2], \ |
657 | 0 | &((uint8_t *) ip)[3], \ |
658 | 0 | ((void) (ovs_be16) *(port), (uint16_t *) port) |
659 | | |
660 | | /* Returns true if 'netmask' is a CIDR netmask, that is, if it consists of N |
661 | | * high-order 1-bits and 32-N low-order 0-bits. */ |
662 | | static inline bool |
663 | | ip_is_cidr(ovs_be32 netmask) |
664 | 0 | { |
665 | 0 | uint32_t x = ~ntohl(netmask); |
666 | 0 | return !(x & (x + 1)); |
667 | 0 | } Unexecuted instantiation: miniflow_target.c:ip_is_cidr Unexecuted instantiation: dp-packet.c:ip_is_cidr Unexecuted instantiation: flow.c:ip_is_cidr Unexecuted instantiation: match.c:ip_is_cidr Unexecuted instantiation: netdev.c:ip_is_cidr Unexecuted instantiation: ofp-port.c:ip_is_cidr Unexecuted instantiation: ofp-print.c:ip_is_cidr Unexecuted instantiation: ofp-queue.c:ip_is_cidr Unexecuted instantiation: ofp-table.c:ip_is_cidr Unexecuted instantiation: ofp-util.c:ip_is_cidr Unexecuted instantiation: ovs-router.c:ip_is_cidr Unexecuted instantiation: packets.c:ip_is_cidr Unexecuted instantiation: smap.c:ip_is_cidr Unexecuted instantiation: socket-util.c:ip_is_cidr Unexecuted instantiation: tnl-ports.c:ip_is_cidr Unexecuted instantiation: tun-metadata.c:ip_is_cidr Unexecuted instantiation: netdev-linux.c:ip_is_cidr Unexecuted instantiation: netdev-offload-tc.c:ip_is_cidr Unexecuted instantiation: rtnetlink.c:ip_is_cidr Unexecuted instantiation: route-table.c:ip_is_cidr Unexecuted instantiation: tc.c:ip_is_cidr Unexecuted instantiation: classifier.c:ip_is_cidr Unexecuted instantiation: dp-packet-gso.c:ip_is_cidr Unexecuted instantiation: dpif.c:ip_is_cidr Unexecuted instantiation: meta-flow.c:ip_is_cidr Unexecuted instantiation: netdev-offload.c:ip_is_cidr Unexecuted instantiation: netdev-vport.c:ip_is_cidr Unexecuted instantiation: netlink.c:ip_is_cidr Unexecuted instantiation: nx-match.c:ip_is_cidr Unexecuted instantiation: odp-execute.c:ip_is_cidr Unexecuted instantiation: odp-execute-private.c:ip_is_cidr Unexecuted instantiation: odp-util.c:ip_is_cidr Unexecuted instantiation: ofp-actions.c:ip_is_cidr Unexecuted instantiation: ofp-ct.c:ip_is_cidr Unexecuted instantiation: ofp-ed-props.c:ip_is_cidr Unexecuted instantiation: ofp-flow.c:ip_is_cidr Unexecuted instantiation: ofp-group.c:ip_is_cidr Unexecuted instantiation: ofp-match.c:ip_is_cidr Unexecuted instantiation: ofp-meter.c:ip_is_cidr Unexecuted instantiation: ofp-monitor.c:ip_is_cidr Unexecuted instantiation: ofp-packet.c:ip_is_cidr Unexecuted instantiation: ofp-parse.c:ip_is_cidr Unexecuted instantiation: stream.c:ip_is_cidr Unexecuted instantiation: tnl-neigh-cache.c:ip_is_cidr Unexecuted instantiation: netdev-native-tnl.c:ip_is_cidr Unexecuted instantiation: stream-unix.c:ip_is_cidr Unexecuted instantiation: dpif-netlink.c:ip_is_cidr Unexecuted instantiation: dpif-netlink-rtnl.c:ip_is_cidr Unexecuted instantiation: netlink-conntrack.c:ip_is_cidr Unexecuted instantiation: stream-ssl.c:ip_is_cidr Unexecuted instantiation: bundle.c:ip_is_cidr Unexecuted instantiation: conntrack.c:ip_is_cidr Unexecuted instantiation: ct-dpif.c:ip_is_cidr Unexecuted instantiation: dpctl.c:ip_is_cidr Unexecuted instantiation: dpif-netdev.c:ip_is_cidr Unexecuted instantiation: dpif-netdev-private-dfc.c:ip_is_cidr Unexecuted instantiation: dpif-netdev-private-dpif.c:ip_is_cidr Unexecuted instantiation: dpif-netdev-private-extract.c:ip_is_cidr Unexecuted instantiation: ipf.c:ip_is_cidr Unexecuted instantiation: learn.c:ip_is_cidr Unexecuted instantiation: multipath.c:ip_is_cidr Unexecuted instantiation: stream-tcp.c:ip_is_cidr Unexecuted instantiation: conntrack-icmp.c:ip_is_cidr Unexecuted instantiation: conntrack-tcp.c:ip_is_cidr Unexecuted instantiation: conntrack-tp.c:ip_is_cidr Unexecuted instantiation: conntrack-other.c:ip_is_cidr Unexecuted instantiation: dpif-netdev-extract-study.c:ip_is_cidr Unexecuted instantiation: dpif-netdev-lookup.c:ip_is_cidr Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ip_is_cidr Unexecuted instantiation: dpif-netdev-lookup-generic.c:ip_is_cidr |
668 | | static inline bool |
669 | | ip_is_multicast(ovs_be32 ip) |
670 | 0 | { |
671 | 0 | return (ip & htonl(0xf0000000)) == htonl(0xe0000000); |
672 | 0 | } Unexecuted instantiation: miniflow_target.c:ip_is_multicast Unexecuted instantiation: dp-packet.c:ip_is_multicast Unexecuted instantiation: flow.c:ip_is_multicast Unexecuted instantiation: match.c:ip_is_multicast Unexecuted instantiation: netdev.c:ip_is_multicast Unexecuted instantiation: ofp-port.c:ip_is_multicast Unexecuted instantiation: ofp-print.c:ip_is_multicast Unexecuted instantiation: ofp-queue.c:ip_is_multicast Unexecuted instantiation: ofp-table.c:ip_is_multicast Unexecuted instantiation: ofp-util.c:ip_is_multicast Unexecuted instantiation: ovs-router.c:ip_is_multicast Unexecuted instantiation: packets.c:ip_is_multicast Unexecuted instantiation: smap.c:ip_is_multicast Unexecuted instantiation: socket-util.c:ip_is_multicast Unexecuted instantiation: tnl-ports.c:ip_is_multicast Unexecuted instantiation: tun-metadata.c:ip_is_multicast Unexecuted instantiation: netdev-linux.c:ip_is_multicast Unexecuted instantiation: netdev-offload-tc.c:ip_is_multicast Unexecuted instantiation: rtnetlink.c:ip_is_multicast Unexecuted instantiation: route-table.c:ip_is_multicast Unexecuted instantiation: tc.c:ip_is_multicast Unexecuted instantiation: classifier.c:ip_is_multicast Unexecuted instantiation: dp-packet-gso.c:ip_is_multicast Unexecuted instantiation: dpif.c:ip_is_multicast Unexecuted instantiation: meta-flow.c:ip_is_multicast Unexecuted instantiation: netdev-offload.c:ip_is_multicast Unexecuted instantiation: netdev-vport.c:ip_is_multicast Unexecuted instantiation: netlink.c:ip_is_multicast Unexecuted instantiation: nx-match.c:ip_is_multicast Unexecuted instantiation: odp-execute.c:ip_is_multicast Unexecuted instantiation: odp-execute-private.c:ip_is_multicast Unexecuted instantiation: odp-util.c:ip_is_multicast Unexecuted instantiation: ofp-actions.c:ip_is_multicast Unexecuted instantiation: ofp-ct.c:ip_is_multicast Unexecuted instantiation: ofp-ed-props.c:ip_is_multicast Unexecuted instantiation: ofp-flow.c:ip_is_multicast Unexecuted instantiation: ofp-group.c:ip_is_multicast Unexecuted instantiation: ofp-match.c:ip_is_multicast Unexecuted instantiation: ofp-meter.c:ip_is_multicast Unexecuted instantiation: ofp-monitor.c:ip_is_multicast Unexecuted instantiation: ofp-packet.c:ip_is_multicast Unexecuted instantiation: ofp-parse.c:ip_is_multicast Unexecuted instantiation: stream.c:ip_is_multicast Unexecuted instantiation: tnl-neigh-cache.c:ip_is_multicast Unexecuted instantiation: netdev-native-tnl.c:ip_is_multicast Unexecuted instantiation: stream-unix.c:ip_is_multicast Unexecuted instantiation: dpif-netlink.c:ip_is_multicast Unexecuted instantiation: dpif-netlink-rtnl.c:ip_is_multicast Unexecuted instantiation: netlink-conntrack.c:ip_is_multicast Unexecuted instantiation: stream-ssl.c:ip_is_multicast Unexecuted instantiation: bundle.c:ip_is_multicast Unexecuted instantiation: conntrack.c:ip_is_multicast Unexecuted instantiation: ct-dpif.c:ip_is_multicast Unexecuted instantiation: dpctl.c:ip_is_multicast Unexecuted instantiation: dpif-netdev.c:ip_is_multicast Unexecuted instantiation: dpif-netdev-private-dfc.c:ip_is_multicast Unexecuted instantiation: dpif-netdev-private-dpif.c:ip_is_multicast Unexecuted instantiation: dpif-netdev-private-extract.c:ip_is_multicast Unexecuted instantiation: ipf.c:ip_is_multicast Unexecuted instantiation: learn.c:ip_is_multicast Unexecuted instantiation: multipath.c:ip_is_multicast Unexecuted instantiation: stream-tcp.c:ip_is_multicast Unexecuted instantiation: conntrack-icmp.c:ip_is_multicast Unexecuted instantiation: conntrack-tcp.c:ip_is_multicast Unexecuted instantiation: conntrack-tp.c:ip_is_multicast Unexecuted instantiation: conntrack-other.c:ip_is_multicast Unexecuted instantiation: dpif-netdev-extract-study.c:ip_is_multicast Unexecuted instantiation: dpif-netdev-lookup.c:ip_is_multicast Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ip_is_multicast Unexecuted instantiation: dpif-netdev-lookup-generic.c:ip_is_multicast |
673 | | static inline bool |
674 | | ip_is_local_multicast(ovs_be32 ip) |
675 | 0 | { |
676 | 0 | return (ip & htonl(0xffffff00)) == htonl(0xe0000000); |
677 | 0 | } Unexecuted instantiation: miniflow_target.c:ip_is_local_multicast Unexecuted instantiation: dp-packet.c:ip_is_local_multicast Unexecuted instantiation: flow.c:ip_is_local_multicast Unexecuted instantiation: match.c:ip_is_local_multicast Unexecuted instantiation: netdev.c:ip_is_local_multicast Unexecuted instantiation: ofp-port.c:ip_is_local_multicast Unexecuted instantiation: ofp-print.c:ip_is_local_multicast Unexecuted instantiation: ofp-queue.c:ip_is_local_multicast Unexecuted instantiation: ofp-table.c:ip_is_local_multicast Unexecuted instantiation: ofp-util.c:ip_is_local_multicast Unexecuted instantiation: ovs-router.c:ip_is_local_multicast Unexecuted instantiation: packets.c:ip_is_local_multicast Unexecuted instantiation: smap.c:ip_is_local_multicast Unexecuted instantiation: socket-util.c:ip_is_local_multicast Unexecuted instantiation: tnl-ports.c:ip_is_local_multicast Unexecuted instantiation: tun-metadata.c:ip_is_local_multicast Unexecuted instantiation: netdev-linux.c:ip_is_local_multicast Unexecuted instantiation: netdev-offload-tc.c:ip_is_local_multicast Unexecuted instantiation: rtnetlink.c:ip_is_local_multicast Unexecuted instantiation: route-table.c:ip_is_local_multicast Unexecuted instantiation: tc.c:ip_is_local_multicast Unexecuted instantiation: classifier.c:ip_is_local_multicast Unexecuted instantiation: dp-packet-gso.c:ip_is_local_multicast Unexecuted instantiation: dpif.c:ip_is_local_multicast Unexecuted instantiation: meta-flow.c:ip_is_local_multicast Unexecuted instantiation: netdev-offload.c:ip_is_local_multicast Unexecuted instantiation: netdev-vport.c:ip_is_local_multicast Unexecuted instantiation: netlink.c:ip_is_local_multicast Unexecuted instantiation: nx-match.c:ip_is_local_multicast Unexecuted instantiation: odp-execute.c:ip_is_local_multicast Unexecuted instantiation: odp-execute-private.c:ip_is_local_multicast Unexecuted instantiation: odp-util.c:ip_is_local_multicast Unexecuted instantiation: ofp-actions.c:ip_is_local_multicast Unexecuted instantiation: ofp-ct.c:ip_is_local_multicast Unexecuted instantiation: ofp-ed-props.c:ip_is_local_multicast Unexecuted instantiation: ofp-flow.c:ip_is_local_multicast Unexecuted instantiation: ofp-group.c:ip_is_local_multicast Unexecuted instantiation: ofp-match.c:ip_is_local_multicast Unexecuted instantiation: ofp-meter.c:ip_is_local_multicast Unexecuted instantiation: ofp-monitor.c:ip_is_local_multicast Unexecuted instantiation: ofp-packet.c:ip_is_local_multicast Unexecuted instantiation: ofp-parse.c:ip_is_local_multicast Unexecuted instantiation: stream.c:ip_is_local_multicast Unexecuted instantiation: tnl-neigh-cache.c:ip_is_local_multicast Unexecuted instantiation: netdev-native-tnl.c:ip_is_local_multicast Unexecuted instantiation: stream-unix.c:ip_is_local_multicast Unexecuted instantiation: dpif-netlink.c:ip_is_local_multicast Unexecuted instantiation: dpif-netlink-rtnl.c:ip_is_local_multicast Unexecuted instantiation: netlink-conntrack.c:ip_is_local_multicast Unexecuted instantiation: stream-ssl.c:ip_is_local_multicast Unexecuted instantiation: bundle.c:ip_is_local_multicast Unexecuted instantiation: conntrack.c:ip_is_local_multicast Unexecuted instantiation: ct-dpif.c:ip_is_local_multicast Unexecuted instantiation: dpctl.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev-private-dfc.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev-private-dpif.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev-private-extract.c:ip_is_local_multicast Unexecuted instantiation: ipf.c:ip_is_local_multicast Unexecuted instantiation: learn.c:ip_is_local_multicast Unexecuted instantiation: multipath.c:ip_is_local_multicast Unexecuted instantiation: stream-tcp.c:ip_is_local_multicast Unexecuted instantiation: conntrack-icmp.c:ip_is_local_multicast Unexecuted instantiation: conntrack-tcp.c:ip_is_local_multicast Unexecuted instantiation: conntrack-tp.c:ip_is_local_multicast Unexecuted instantiation: conntrack-other.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev-extract-study.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev-lookup.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ip_is_local_multicast Unexecuted instantiation: dpif-netdev-lookup-generic.c:ip_is_local_multicast |
678 | | int ip_count_cidr_bits(ovs_be32 netmask); |
679 | | void ip_format_masked(ovs_be32 ip, ovs_be32 mask, struct ds *); |
680 | | bool ip_parse(const char *s, ovs_be32 *ip); |
681 | | char *ip_parse_port(const char *s, ovs_be32 *ip, ovs_be16 *port) |
682 | | OVS_WARN_UNUSED_RESULT; |
683 | | char *ip_parse_masked(const char *s, ovs_be32 *ip, ovs_be32 *mask) |
684 | | OVS_WARN_UNUSED_RESULT; |
685 | | char *ip_parse_cidr(const char *s, ovs_be32 *ip, unsigned int *plen) |
686 | | OVS_WARN_UNUSED_RESULT; |
687 | | char *ip_parse_masked_len(const char *s, int *n, ovs_be32 *ip, ovs_be32 *mask) |
688 | | OVS_WARN_UNUSED_RESULT; |
689 | | char *ip_parse_cidr_len(const char *s, int *n, ovs_be32 *ip, |
690 | | unsigned int *plen) |
691 | | OVS_WARN_UNUSED_RESULT; |
692 | | |
693 | 0 | #define IP_VER(ip_ihl_ver) ((ip_ihl_ver) >> 4) |
694 | 0 | #define IP_IHL(ip_ihl_ver) ((ip_ihl_ver) & 15) |
695 | 0 | #define IP_IHL_VER(ihl, ver) (((ver) << 4) | (ihl)) |
696 | | |
697 | | #ifndef IPPROTO_SCTP |
698 | | #define IPPROTO_SCTP 132 |
699 | | #endif |
700 | | |
701 | | #ifndef IPPROTO_DCCP |
702 | | #define IPPROTO_DCCP 33 |
703 | | #endif |
704 | | |
705 | | #ifndef IPPROTO_IGMP |
706 | | #define IPPROTO_IGMP 2 |
707 | | #endif |
708 | | |
709 | | #ifndef IPPROTO_IPIP |
710 | | #define IPPROTO_IPIP 4 |
711 | | #endif |
712 | | |
713 | | #ifndef IPPROTO_UDPLITE |
714 | | #define IPPROTO_UDPLITE 136 |
715 | | #endif |
716 | | |
717 | | /* TOS fields. */ |
718 | | #define IP_ECN_NOT_ECT 0x0 |
719 | | #define IP_ECN_ECT_1 0x01 |
720 | | #define IP_ECN_ECT_0 0x02 |
721 | 0 | #define IP_ECN_CE 0x03 |
722 | 0 | #define IP_ECN_MASK 0x03 |
723 | | #define IP_DSCP_CS6 0xc0 |
724 | 0 | #define IP_DSCP_MASK 0xfc |
725 | | |
726 | | static inline int |
727 | | IP_ECN_is_ce(uint8_t dsfield) |
728 | 0 | { |
729 | 0 | return (dsfield & IP_ECN_MASK) == IP_ECN_CE; |
730 | 0 | } Unexecuted instantiation: miniflow_target.c:IP_ECN_is_ce Unexecuted instantiation: dp-packet.c:IP_ECN_is_ce Unexecuted instantiation: flow.c:IP_ECN_is_ce Unexecuted instantiation: match.c:IP_ECN_is_ce Unexecuted instantiation: netdev.c:IP_ECN_is_ce Unexecuted instantiation: ofp-port.c:IP_ECN_is_ce Unexecuted instantiation: ofp-print.c:IP_ECN_is_ce Unexecuted instantiation: ofp-queue.c:IP_ECN_is_ce Unexecuted instantiation: ofp-table.c:IP_ECN_is_ce Unexecuted instantiation: ofp-util.c:IP_ECN_is_ce Unexecuted instantiation: ovs-router.c:IP_ECN_is_ce Unexecuted instantiation: packets.c:IP_ECN_is_ce Unexecuted instantiation: smap.c:IP_ECN_is_ce Unexecuted instantiation: socket-util.c:IP_ECN_is_ce Unexecuted instantiation: tnl-ports.c:IP_ECN_is_ce Unexecuted instantiation: tun-metadata.c:IP_ECN_is_ce Unexecuted instantiation: netdev-linux.c:IP_ECN_is_ce Unexecuted instantiation: netdev-offload-tc.c:IP_ECN_is_ce Unexecuted instantiation: rtnetlink.c:IP_ECN_is_ce Unexecuted instantiation: route-table.c:IP_ECN_is_ce Unexecuted instantiation: tc.c:IP_ECN_is_ce Unexecuted instantiation: classifier.c:IP_ECN_is_ce Unexecuted instantiation: dp-packet-gso.c:IP_ECN_is_ce Unexecuted instantiation: dpif.c:IP_ECN_is_ce Unexecuted instantiation: meta-flow.c:IP_ECN_is_ce Unexecuted instantiation: netdev-offload.c:IP_ECN_is_ce Unexecuted instantiation: netdev-vport.c:IP_ECN_is_ce Unexecuted instantiation: netlink.c:IP_ECN_is_ce Unexecuted instantiation: nx-match.c:IP_ECN_is_ce Unexecuted instantiation: odp-execute.c:IP_ECN_is_ce Unexecuted instantiation: odp-execute-private.c:IP_ECN_is_ce Unexecuted instantiation: odp-util.c:IP_ECN_is_ce Unexecuted instantiation: ofp-actions.c:IP_ECN_is_ce Unexecuted instantiation: ofp-ct.c:IP_ECN_is_ce Unexecuted instantiation: ofp-ed-props.c:IP_ECN_is_ce Unexecuted instantiation: ofp-flow.c:IP_ECN_is_ce Unexecuted instantiation: ofp-group.c:IP_ECN_is_ce Unexecuted instantiation: ofp-match.c:IP_ECN_is_ce Unexecuted instantiation: ofp-meter.c:IP_ECN_is_ce Unexecuted instantiation: ofp-monitor.c:IP_ECN_is_ce Unexecuted instantiation: ofp-packet.c:IP_ECN_is_ce Unexecuted instantiation: ofp-parse.c:IP_ECN_is_ce Unexecuted instantiation: stream.c:IP_ECN_is_ce Unexecuted instantiation: tnl-neigh-cache.c:IP_ECN_is_ce Unexecuted instantiation: netdev-native-tnl.c:IP_ECN_is_ce Unexecuted instantiation: stream-unix.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netlink.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netlink-rtnl.c:IP_ECN_is_ce Unexecuted instantiation: netlink-conntrack.c:IP_ECN_is_ce Unexecuted instantiation: stream-ssl.c:IP_ECN_is_ce Unexecuted instantiation: bundle.c:IP_ECN_is_ce Unexecuted instantiation: conntrack.c:IP_ECN_is_ce Unexecuted instantiation: ct-dpif.c:IP_ECN_is_ce Unexecuted instantiation: dpctl.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev-private-dfc.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev-private-dpif.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev-private-extract.c:IP_ECN_is_ce Unexecuted instantiation: ipf.c:IP_ECN_is_ce Unexecuted instantiation: learn.c:IP_ECN_is_ce Unexecuted instantiation: multipath.c:IP_ECN_is_ce Unexecuted instantiation: stream-tcp.c:IP_ECN_is_ce Unexecuted instantiation: conntrack-icmp.c:IP_ECN_is_ce Unexecuted instantiation: conntrack-tcp.c:IP_ECN_is_ce Unexecuted instantiation: conntrack-tp.c:IP_ECN_is_ce Unexecuted instantiation: conntrack-other.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev-extract-study.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev-lookup.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:IP_ECN_is_ce Unexecuted instantiation: dpif-netdev-lookup-generic.c:IP_ECN_is_ce |
731 | | |
732 | | #define IP_VERSION 4 |
733 | | |
734 | | #define IP_DONT_FRAGMENT 0x4000 /* Don't fragment. */ |
735 | | #define IP_MORE_FRAGMENTS 0x2000 /* More fragments. */ |
736 | | #define IP_FRAG_OFF_MASK 0x1fff /* Fragment offset. */ |
737 | | #define IP_IS_FRAGMENT(ip_frag_off) \ |
738 | 0 | ((ip_frag_off) & htons(IP_MORE_FRAGMENTS | IP_FRAG_OFF_MASK)) |
739 | | #define IP_IS_LATER_FRAG(ip_frag_off) \ |
740 | 0 | ((ip_frag_off) & htons(IP_FRAG_OFF_MASK)) |
741 | | |
742 | 0 | #define IP_HEADER_LEN 20 |
743 | | struct ip_header { |
744 | | uint8_t ip_ihl_ver; |
745 | | uint8_t ip_tos; |
746 | | ovs_be16 ip_tot_len; |
747 | | ovs_be16 ip_id; |
748 | | ovs_be16 ip_frag_off; |
749 | | uint8_t ip_ttl; |
750 | | uint8_t ip_proto; |
751 | | ovs_be16 ip_csum; |
752 | | ovs_16aligned_be32 ip_src; |
753 | | ovs_16aligned_be32 ip_dst; |
754 | | }; |
755 | | BUILD_ASSERT_DECL(IP_HEADER_LEN == sizeof(struct ip_header)); |
756 | | |
757 | | /* ICMPv4 types. */ |
758 | 0 | #define ICMP4_ECHO_REPLY 0 |
759 | 0 | #define ICMP4_DST_UNREACH 3 |
760 | 0 | #define ICMP4_SOURCEQUENCH 4 |
761 | 0 | #define ICMP4_REDIRECT 5 |
762 | 0 | #define ICMP4_ECHO_REQUEST 8 |
763 | 0 | #define ICMP4_TIME_EXCEEDED 11 |
764 | 0 | #define ICMP4_PARAM_PROB 12 |
765 | 0 | #define ICMP4_TIMESTAMP 13 |
766 | 0 | #define ICMP4_TIMESTAMPREPLY 14 |
767 | 0 | #define ICMP4_INFOREQUEST 15 |
768 | 0 | #define ICMP4_INFOREPLY 16 |
769 | | |
770 | 0 | #define ICMP_HEADER_LEN 8 |
771 | | struct icmp_header { |
772 | | uint8_t icmp_type; |
773 | | uint8_t icmp_code; |
774 | | ovs_be16 icmp_csum; |
775 | | union { |
776 | | struct { |
777 | | ovs_be16 id; |
778 | | ovs_be16 seq; |
779 | | } echo; |
780 | | struct { |
781 | | ovs_be16 empty; |
782 | | ovs_be16 mtu; |
783 | | } frag; |
784 | | ovs_16aligned_be32 gateway; |
785 | | } icmp_fields; |
786 | | }; |
787 | | BUILD_ASSERT_DECL(ICMP_HEADER_LEN == sizeof(struct icmp_header)); |
788 | | |
789 | | /* ICMPV4 */ |
790 | 0 | #define ICMP_ERROR_DATA_L4_LEN 8 |
791 | | |
792 | | #define IGMP_HEADER_LEN 8 |
793 | | struct igmp_header { |
794 | | uint8_t igmp_type; |
795 | | uint8_t igmp_code; |
796 | | ovs_be16 igmp_csum; |
797 | | ovs_16aligned_be32 group; |
798 | | }; |
799 | | BUILD_ASSERT_DECL(IGMP_HEADER_LEN == sizeof(struct igmp_header)); |
800 | | |
801 | | #define IGMPV3_HEADER_LEN 8 |
802 | | struct igmpv3_header { |
803 | | uint8_t type; |
804 | | uint8_t rsvr1; |
805 | | ovs_be16 csum; |
806 | | ovs_be16 rsvr2; |
807 | | ovs_be16 ngrp; |
808 | | }; |
809 | | BUILD_ASSERT_DECL(IGMPV3_HEADER_LEN == sizeof(struct igmpv3_header)); |
810 | | |
811 | | #define IGMPV3_QUERY_HEADER_LEN 12 |
812 | | struct igmpv3_query_header { |
813 | | uint8_t type; |
814 | | uint8_t max_resp; |
815 | | ovs_be16 csum; |
816 | | ovs_16aligned_be32 group; |
817 | | uint8_t srs_qrv; |
818 | | uint8_t qqic; |
819 | | ovs_be16 nsrcs; |
820 | | }; |
821 | | BUILD_ASSERT_DECL( |
822 | | IGMPV3_QUERY_HEADER_LEN == sizeof(struct igmpv3_query_header |
823 | | )); |
824 | | |
825 | | #define IGMPV3_RECORD_LEN 8 |
826 | | struct igmpv3_record { |
827 | | uint8_t type; |
828 | | uint8_t aux_len; |
829 | | ovs_be16 nsrcs; |
830 | | ovs_16aligned_be32 maddr; |
831 | | }; |
832 | | BUILD_ASSERT_DECL(IGMPV3_RECORD_LEN == sizeof(struct igmpv3_record)); |
833 | | |
834 | 0 | #define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */ |
835 | | #define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */ |
836 | | #define IGMPV2_HOST_MEMBERSHIP_REPORT 0x16 /* V2 version of 0x12 */ |
837 | | #define IGMP_HOST_LEAVE_MESSAGE 0x17 |
838 | | #define IGMPV3_HOST_MEMBERSHIP_REPORT 0x22 /* V3 version of 0x12 */ |
839 | | |
840 | | /* |
841 | | * IGMPv3 and MLDv2 use the same codes. |
842 | | */ |
843 | | #define IGMPV3_MODE_IS_INCLUDE 1 |
844 | | #define IGMPV3_MODE_IS_EXCLUDE 2 |
845 | | #define IGMPV3_CHANGE_TO_INCLUDE_MODE 3 |
846 | | #define IGMPV3_CHANGE_TO_EXCLUDE_MODE 4 |
847 | | #define IGMPV3_ALLOW_NEW_SOURCES 5 |
848 | | #define IGMPV3_BLOCK_OLD_SOURCES 6 |
849 | | |
850 | 0 | #define SCTP_HEADER_LEN 12 |
851 | | struct sctp_header { |
852 | | ovs_be16 sctp_src; |
853 | | ovs_be16 sctp_dst; |
854 | | ovs_16aligned_be32 sctp_vtag; |
855 | | ovs_16aligned_be32 sctp_csum; |
856 | | }; |
857 | | BUILD_ASSERT_DECL(SCTP_HEADER_LEN == sizeof(struct sctp_header)); |
858 | | |
859 | | #define SCTP_CHUNK_HEADER_LEN 4 |
860 | | struct sctp_chunk_header { |
861 | | uint8_t type; |
862 | | uint8_t flags; |
863 | | ovs_be16 length; |
864 | | }; |
865 | | BUILD_ASSERT_DECL(SCTP_CHUNK_HEADER_LEN == sizeof(struct sctp_chunk_header)); |
866 | | |
867 | | #define SCTP_NEXT_CHUNK(sh, off) \ |
868 | 0 | ALIGNED_CAST(struct sctp_chunk_header *, (uint8_t *) sh + off) |
869 | | |
870 | 0 | #define UDP_HEADER_LEN 8 |
871 | | struct udp_header { |
872 | | ovs_be16 udp_src; |
873 | | ovs_be16 udp_dst; |
874 | | ovs_be16 udp_len; |
875 | | ovs_be16 udp_csum; |
876 | | }; |
877 | | BUILD_ASSERT_DECL(UDP_HEADER_LEN == sizeof(struct udp_header)); |
878 | | |
879 | | #define ESP_HEADER_LEN 8 |
880 | | struct esp_header { |
881 | | ovs_be32 spi; |
882 | | ovs_be32 seq_no; |
883 | | }; |
884 | | BUILD_ASSERT_DECL(ESP_HEADER_LEN == sizeof(struct esp_header)); |
885 | | |
886 | | #define ESP_TRAILER_LEN 2 |
887 | | struct esp_trailer { |
888 | | uint8_t pad_len; |
889 | | uint8_t next_hdr; |
890 | | }; |
891 | | BUILD_ASSERT_DECL(ESP_TRAILER_LEN == sizeof(struct esp_trailer)); |
892 | | |
893 | 0 | #define TCP_FIN 0x001 |
894 | 0 | #define TCP_SYN 0x002 |
895 | 0 | #define TCP_RST 0x004 |
896 | 0 | #define TCP_PSH 0x008 |
897 | 0 | #define TCP_ACK 0x010 |
898 | 0 | #define TCP_URG 0x020 |
899 | 0 | #define TCP_ECE 0x040 |
900 | 0 | #define TCP_CWR 0x080 |
901 | 0 | #define TCP_NS 0x100 |
902 | | |
903 | 0 | #define TCP_CTL(flags, offset) (htons((flags) | ((offset) << 12))) |
904 | 0 | #define TCP_FLAGS(tcp_ctl) (ntohs(tcp_ctl) & 0x0fff) |
905 | 0 | #define TCP_FLAGS_BE16(tcp_ctl) ((tcp_ctl) & htons(0x0fff)) |
906 | 0 | #define TCP_OFFSET(tcp_ctl) (ntohs(tcp_ctl) >> 12) |
907 | | |
908 | 0 | #define TCP_HEADER_LEN 20 |
909 | | struct tcp_header { |
910 | | ovs_be16 tcp_src; |
911 | | ovs_be16 tcp_dst; |
912 | | ovs_16aligned_be32 tcp_seq; |
913 | | ovs_16aligned_be32 tcp_ack; |
914 | | ovs_be16 tcp_ctl; |
915 | | ovs_be16 tcp_winsz; |
916 | | ovs_be16 tcp_csum; |
917 | | ovs_be16 tcp_urg; |
918 | | }; |
919 | | BUILD_ASSERT_DECL(TCP_HEADER_LEN == sizeof(struct tcp_header)); |
920 | | |
921 | | /* Connection states. |
922 | | * |
923 | | * Names like CS_RELATED are bit values, e.g. 1 << 2. |
924 | | * Names like CS_RELATED_BIT are bit indexes, e.g. 2. */ |
925 | | #define CS_STATES \ |
926 | 0 | CS_STATE(NEW, 0, "new") \ |
927 | 0 | CS_STATE(ESTABLISHED, 1, "est") \ |
928 | 0 | CS_STATE(RELATED, 2, "rel") \ |
929 | 0 | CS_STATE(REPLY_DIR, 3, "rpl") \ |
930 | 0 | CS_STATE(INVALID, 4, "inv") \ |
931 | 0 | CS_STATE(TRACKED, 5, "trk") \ |
932 | 0 | CS_STATE(SRC_NAT, 6, "snat") \ |
933 | 0 | CS_STATE(DST_NAT, 7, "dnat") |
934 | | |
935 | | enum { |
936 | | #define CS_STATE(ENUM, INDEX, NAME) \ |
937 | | CS_##ENUM = 1 << INDEX, \ |
938 | | CS_##ENUM##_BIT = INDEX, |
939 | | CS_STATES |
940 | | #undef CS_STATE |
941 | | }; |
942 | | |
943 | | /* Undefined connection state bits. */ |
944 | | enum { |
945 | | #define CS_STATE(ENUM, INDEX, NAME) +CS_##ENUM |
946 | | CS_SUPPORTED_MASK = CS_STATES |
947 | | #undef CS_STATE |
948 | | }; |
949 | | #define CS_UNSUPPORTED_MASK (~(uint32_t)CS_SUPPORTED_MASK) |
950 | | |
951 | | #define ARP_HRD_ETHERNET 1 |
952 | | #define ARP_PRO_IP 0x0800 |
953 | 0 | #define ARP_OP_REQUEST 1 |
954 | 0 | #define ARP_OP_REPLY 2 |
955 | | #define ARP_OP_RARP 3 |
956 | | |
957 | 0 | #define ARP_ETH_HEADER_LEN 28 |
958 | | struct arp_eth_header { |
959 | | /* Generic members. */ |
960 | | ovs_be16 ar_hrd; /* Hardware type. */ |
961 | | ovs_be16 ar_pro; /* Protocol type. */ |
962 | | uint8_t ar_hln; /* Hardware address length. */ |
963 | | uint8_t ar_pln; /* Protocol address length. */ |
964 | | ovs_be16 ar_op; /* Opcode. */ |
965 | | |
966 | | /* Ethernet+IPv4 specific members. */ |
967 | | struct eth_addr ar_sha; /* Sender hardware address. */ |
968 | | ovs_16aligned_be32 ar_spa; /* Sender protocol address. */ |
969 | | struct eth_addr ar_tha; /* Target hardware address. */ |
970 | | ovs_16aligned_be32 ar_tpa; /* Target protocol address. */ |
971 | | }; |
972 | | BUILD_ASSERT_DECL(ARP_ETH_HEADER_LEN == sizeof(struct arp_eth_header)); |
973 | | |
974 | 0 | #define IPV6_HEADER_LEN 40 |
975 | | |
976 | | /* Like struct in6_addr, but whereas that struct requires 32-bit alignment on |
977 | | * most implementations, this one only requires 16-bit alignment. */ |
978 | | union ovs_16aligned_in6_addr { |
979 | | ovs_be16 be16[8]; |
980 | | ovs_16aligned_be32 be32[4]; |
981 | | }; |
982 | | |
983 | | /* Like struct ip6_hdr, but whereas that struct requires 32-bit alignment, this |
984 | | * one only requires 16-bit alignment. */ |
985 | | struct ovs_16aligned_ip6_hdr { |
986 | | union { |
987 | | struct ovs_16aligned_ip6_hdrctl { |
988 | | ovs_16aligned_be32 ip6_un1_flow; |
989 | | ovs_be16 ip6_un1_plen; |
990 | | uint8_t ip6_un1_nxt; |
991 | | uint8_t ip6_un1_hlim; |
992 | | } ip6_un1; |
993 | | uint8_t ip6_un2_vfc; |
994 | | } ip6_ctlun; |
995 | | union ovs_16aligned_in6_addr ip6_src; |
996 | | union ovs_16aligned_in6_addr ip6_dst; |
997 | | }; |
998 | | |
999 | | /* Like struct in6_frag, but whereas that struct requires 32-bit alignment, |
1000 | | * this one only requires 16-bit alignment. */ |
1001 | | struct ovs_16aligned_ip6_frag { |
1002 | | uint8_t ip6f_nxt; |
1003 | | uint8_t ip6f_reserved; |
1004 | | ovs_be16 ip6f_offlg; |
1005 | | ovs_16aligned_be32 ip6f_ident; |
1006 | | }; |
1007 | | |
1008 | | #define IP6_RT_HDR_LEN 4 |
1009 | | struct ip6_rt_hdr { |
1010 | | uint8_t nexthdr; |
1011 | | uint8_t hdrlen; |
1012 | | uint8_t type; |
1013 | | uint8_t segments_left; |
1014 | | }; |
1015 | | BUILD_ASSERT_DECL(IP6_RT_HDR_LEN == sizeof(struct ip6_rt_hdr)); |
1016 | | |
1017 | 0 | #define ICMP6_HEADER_LEN 4 |
1018 | | struct icmp6_header { |
1019 | | uint8_t icmp6_type; |
1020 | | uint8_t icmp6_code; |
1021 | | ovs_be16 icmp6_cksum; |
1022 | | }; |
1023 | | BUILD_ASSERT_DECL(ICMP6_HEADER_LEN == sizeof(struct icmp6_header)); |
1024 | | |
1025 | | #define ICMP6_DATA_HEADER_LEN 8 |
1026 | | struct icmp6_data_header { |
1027 | | struct icmp6_header icmp6_base; |
1028 | | union { |
1029 | | ovs_16aligned_be32 be32[1]; |
1030 | | ovs_be16 be16[2]; |
1031 | | uint8_t u8[4]; |
1032 | | } icmp6_data; |
1033 | | }; |
1034 | | BUILD_ASSERT_DECL(ICMP6_DATA_HEADER_LEN == sizeof(struct icmp6_data_header)); |
1035 | | |
1036 | | uint32_t packet_csum_pseudoheader6(const struct ovs_16aligned_ip6_hdr *); |
1037 | | ovs_be16 packet_csum_upperlayer6(const struct ovs_16aligned_ip6_hdr *, |
1038 | | const void *, uint8_t, uint16_t); |
1039 | | |
1040 | | /* Neighbor Discovery option field. |
1041 | | * ND options are always a multiple of 8 bytes in size. */ |
1042 | 0 | #define ND_LLA_OPT_LEN 8 |
1043 | | struct ovs_nd_lla_opt { |
1044 | | uint8_t type; /* One of ND_OPT_*_LINKADDR. */ |
1045 | | uint8_t len; |
1046 | | struct eth_addr mac; |
1047 | | }; |
1048 | | BUILD_ASSERT_DECL(ND_LLA_OPT_LEN == sizeof(struct ovs_nd_lla_opt)); |
1049 | | |
1050 | | /* Neighbor Discovery option: Prefix Information. */ |
1051 | 0 | #define ND_PREFIX_OPT_LEN 32 |
1052 | | struct ovs_nd_prefix_opt { |
1053 | | uint8_t type; /* ND_OPT_PREFIX_INFORMATION. */ |
1054 | | uint8_t len; /* Always 4. */ |
1055 | | uint8_t prefix_len; |
1056 | | uint8_t la_flags; /* ND_PREFIX_* flags. */ |
1057 | | ovs_16aligned_be32 valid_lifetime; |
1058 | | ovs_16aligned_be32 preferred_lifetime; |
1059 | | ovs_16aligned_be32 reserved; /* Always 0. */ |
1060 | | union ovs_16aligned_in6_addr prefix; |
1061 | | }; |
1062 | | BUILD_ASSERT_DECL(ND_PREFIX_OPT_LEN == sizeof(struct ovs_nd_prefix_opt)); |
1063 | | |
1064 | | /* Neighbor Discovery option: MTU. */ |
1065 | 0 | #define ND_MTU_OPT_LEN 8 |
1066 | | #define ND_MTU_DEFAULT 0 |
1067 | | struct ovs_nd_mtu_opt { |
1068 | | uint8_t type; /* ND_OPT_MTU */ |
1069 | | uint8_t len; /* Always 1. */ |
1070 | | ovs_be16 reserved; /* Always 0. */ |
1071 | | ovs_16aligned_be32 mtu; |
1072 | | }; |
1073 | | BUILD_ASSERT_DECL(ND_MTU_OPT_LEN == sizeof(struct ovs_nd_mtu_opt)); |
1074 | | |
1075 | | /* Like struct nd_msg (from ndisc.h), but whereas that struct requires 32-bit |
1076 | | * alignment, this one only requires 16-bit alignment. */ |
1077 | 0 | #define ND_MSG_LEN 24 |
1078 | | struct ovs_nd_msg { |
1079 | | struct icmp6_header icmph; |
1080 | | ovs_16aligned_be32 rso_flags; |
1081 | | union ovs_16aligned_in6_addr target; |
1082 | | struct ovs_nd_lla_opt options[0]; |
1083 | | }; |
1084 | | BUILD_ASSERT_DECL(ND_MSG_LEN == sizeof(struct ovs_nd_msg)); |
1085 | | |
1086 | | /* Neighbor Discovery packet flags. */ |
1087 | | #define ND_RSO_ROUTER 0x80000000 |
1088 | | #define ND_RSO_SOLICITED 0x40000000 |
1089 | | #define ND_RSO_OVERRIDE 0x20000000 |
1090 | | |
1091 | 0 | #define RA_MSG_LEN 16 |
1092 | | struct ovs_ra_msg { |
1093 | | struct icmp6_header icmph; |
1094 | | uint8_t cur_hop_limit; |
1095 | | uint8_t mo_flags; /* ND_RA_MANAGED_ADDRESS and ND_RA_OTHER_CONFIG flags. */ |
1096 | | ovs_be16 router_lifetime; |
1097 | | ovs_be32 reachable_time; |
1098 | | ovs_be32 retrans_timer; |
1099 | | struct ovs_nd_lla_opt options[0]; |
1100 | | }; |
1101 | | BUILD_ASSERT_DECL(RA_MSG_LEN == sizeof(struct ovs_ra_msg)); |
1102 | | |
1103 | | #define ND_RA_MANAGED_ADDRESS 0x80 |
1104 | | #define ND_RA_OTHER_CONFIG 0x40 |
1105 | | |
1106 | | /* Defaults based on MaxRtrInterval and MinRtrInterval from RFC 4861 section |
1107 | | * 6.2.1 |
1108 | | */ |
1109 | | #define ND_RA_MAX_INTERVAL_DEFAULT 600 |
1110 | | |
1111 | | static inline int |
1112 | | nd_ra_min_interval_default(int max) |
1113 | 0 | { |
1114 | 0 | return max >= 9 ? max / 3 : max * 3 / 4; |
1115 | 0 | } Unexecuted instantiation: miniflow_target.c:nd_ra_min_interval_default Unexecuted instantiation: dp-packet.c:nd_ra_min_interval_default Unexecuted instantiation: flow.c:nd_ra_min_interval_default Unexecuted instantiation: match.c:nd_ra_min_interval_default Unexecuted instantiation: netdev.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-port.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-print.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-queue.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-table.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-util.c:nd_ra_min_interval_default Unexecuted instantiation: ovs-router.c:nd_ra_min_interval_default Unexecuted instantiation: packets.c:nd_ra_min_interval_default Unexecuted instantiation: smap.c:nd_ra_min_interval_default Unexecuted instantiation: socket-util.c:nd_ra_min_interval_default Unexecuted instantiation: tnl-ports.c:nd_ra_min_interval_default Unexecuted instantiation: tun-metadata.c:nd_ra_min_interval_default Unexecuted instantiation: netdev-linux.c:nd_ra_min_interval_default Unexecuted instantiation: netdev-offload-tc.c:nd_ra_min_interval_default Unexecuted instantiation: rtnetlink.c:nd_ra_min_interval_default Unexecuted instantiation: route-table.c:nd_ra_min_interval_default Unexecuted instantiation: tc.c:nd_ra_min_interval_default Unexecuted instantiation: classifier.c:nd_ra_min_interval_default Unexecuted instantiation: dp-packet-gso.c:nd_ra_min_interval_default Unexecuted instantiation: dpif.c:nd_ra_min_interval_default Unexecuted instantiation: meta-flow.c:nd_ra_min_interval_default Unexecuted instantiation: netdev-offload.c:nd_ra_min_interval_default Unexecuted instantiation: netdev-vport.c:nd_ra_min_interval_default Unexecuted instantiation: netlink.c:nd_ra_min_interval_default Unexecuted instantiation: nx-match.c:nd_ra_min_interval_default Unexecuted instantiation: odp-execute.c:nd_ra_min_interval_default Unexecuted instantiation: odp-execute-private.c:nd_ra_min_interval_default Unexecuted instantiation: odp-util.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-actions.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-ct.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-ed-props.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-flow.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-group.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-match.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-meter.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-monitor.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-packet.c:nd_ra_min_interval_default Unexecuted instantiation: ofp-parse.c:nd_ra_min_interval_default Unexecuted instantiation: stream.c:nd_ra_min_interval_default Unexecuted instantiation: tnl-neigh-cache.c:nd_ra_min_interval_default Unexecuted instantiation: netdev-native-tnl.c:nd_ra_min_interval_default Unexecuted instantiation: stream-unix.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netlink.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netlink-rtnl.c:nd_ra_min_interval_default Unexecuted instantiation: netlink-conntrack.c:nd_ra_min_interval_default Unexecuted instantiation: stream-ssl.c:nd_ra_min_interval_default Unexecuted instantiation: bundle.c:nd_ra_min_interval_default Unexecuted instantiation: conntrack.c:nd_ra_min_interval_default Unexecuted instantiation: ct-dpif.c:nd_ra_min_interval_default Unexecuted instantiation: dpctl.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev-private-dfc.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev-private-dpif.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev-private-extract.c:nd_ra_min_interval_default Unexecuted instantiation: ipf.c:nd_ra_min_interval_default Unexecuted instantiation: learn.c:nd_ra_min_interval_default Unexecuted instantiation: multipath.c:nd_ra_min_interval_default Unexecuted instantiation: stream-tcp.c:nd_ra_min_interval_default Unexecuted instantiation: conntrack-icmp.c:nd_ra_min_interval_default Unexecuted instantiation: conntrack-tcp.c:nd_ra_min_interval_default Unexecuted instantiation: conntrack-tp.c:nd_ra_min_interval_default Unexecuted instantiation: conntrack-other.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev-extract-study.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev-lookup.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:nd_ra_min_interval_default Unexecuted instantiation: dpif-netdev-lookup-generic.c:nd_ra_min_interval_default |
1116 | | |
1117 | | /* |
1118 | | * Use the same struct for MLD and MLD2, naming members as the defined fields in |
1119 | | * in the corresponding version of the protocol, though they are reserved in the |
1120 | | * other one. |
1121 | | */ |
1122 | | #define MLD_HEADER_LEN 8 |
1123 | | struct mld_header { |
1124 | | uint8_t type; |
1125 | | uint8_t code; |
1126 | | ovs_be16 csum; |
1127 | | ovs_be16 mrd; |
1128 | | ovs_be16 ngrp; |
1129 | | }; |
1130 | | BUILD_ASSERT_DECL(MLD_HEADER_LEN == sizeof(struct mld_header)); |
1131 | | |
1132 | | #define MLD2_RECORD_LEN 20 |
1133 | | struct mld2_record { |
1134 | | uint8_t type; |
1135 | | uint8_t aux_len; |
1136 | | ovs_be16 nsrcs; |
1137 | | union ovs_16aligned_in6_addr maddr; |
1138 | | }; |
1139 | | BUILD_ASSERT_DECL(MLD2_RECORD_LEN == sizeof(struct mld2_record)); |
1140 | | |
1141 | | #define MLD_QUERY 130 |
1142 | | #define MLD_REPORT 131 |
1143 | | #define MLD_DONE 132 |
1144 | | #define MLD2_REPORT 143 |
1145 | | |
1146 | | /* The IPv6 flow label is in the lower 20 bits of the first 32-bit word. */ |
1147 | 0 | #define IPV6_LABEL_MASK 0x000fffff |
1148 | | |
1149 | | /* Example: |
1150 | | * |
1151 | | * char *string = "1 ::1 2"; |
1152 | | * char ipv6_s[IPV6_SCAN_LEN + 1]; |
1153 | | * struct in6_addr ipv6; |
1154 | | * |
1155 | | * if (ovs_scan(string, "%d"IPV6_SCAN_FMT"%d", &a, ipv6_s, &b) |
1156 | | * && inet_pton(AF_INET6, ipv6_s, &ipv6) == 1) { |
1157 | | * ... |
1158 | | * } |
1159 | | */ |
1160 | 0 | #define IPV6_SCAN_FMT "%46[0123456789abcdefABCDEF:.]" |
1161 | | #define IPV6_SCAN_LEN 46 |
1162 | | |
1163 | | extern const struct in6_addr in6addr_exact; |
1164 | | #define IN6ADDR_EXACT_INIT { { { 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, \ |
1165 | | 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff } } } |
1166 | | |
1167 | | extern const struct in6_addr in6addr_all_hosts; |
1168 | | #define IN6ADDR_ALL_HOSTS_INIT { { { 0xff,0x02,0x00,0x00,0x00,0x00,0x00,0x00, \ |
1169 | | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01 } } } |
1170 | | |
1171 | | extern const struct in6_addr in6addr_all_routers; |
1172 | | #define IN6ADDR_ALL_ROUTERS_INIT { { { 0xff,0x02,0x00,0x00,0x00,0x00,0x00,0x00, \ |
1173 | | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02 } } } |
1174 | | |
1175 | | static inline bool ipv6_addr_equals(const struct in6_addr *a, |
1176 | | const struct in6_addr *b) |
1177 | 0 | { |
1178 | 0 | #ifdef IN6_ARE_ADDR_EQUAL |
1179 | 0 | return IN6_ARE_ADDR_EQUAL(a, b); |
1180 | | #else |
1181 | | return !memcmp(a, b, sizeof(*a)); |
1182 | | #endif |
1183 | 0 | } Unexecuted instantiation: miniflow_target.c:ipv6_addr_equals Unexecuted instantiation: dp-packet.c:ipv6_addr_equals Unexecuted instantiation: flow.c:ipv6_addr_equals Unexecuted instantiation: match.c:ipv6_addr_equals Unexecuted instantiation: netdev.c:ipv6_addr_equals Unexecuted instantiation: ofp-port.c:ipv6_addr_equals Unexecuted instantiation: ofp-print.c:ipv6_addr_equals Unexecuted instantiation: ofp-queue.c:ipv6_addr_equals Unexecuted instantiation: ofp-table.c:ipv6_addr_equals Unexecuted instantiation: ofp-util.c:ipv6_addr_equals Unexecuted instantiation: ovs-router.c:ipv6_addr_equals Unexecuted instantiation: packets.c:ipv6_addr_equals Unexecuted instantiation: smap.c:ipv6_addr_equals Unexecuted instantiation: socket-util.c:ipv6_addr_equals Unexecuted instantiation: tnl-ports.c:ipv6_addr_equals Unexecuted instantiation: tun-metadata.c:ipv6_addr_equals Unexecuted instantiation: netdev-linux.c:ipv6_addr_equals Unexecuted instantiation: netdev-offload-tc.c:ipv6_addr_equals Unexecuted instantiation: rtnetlink.c:ipv6_addr_equals Unexecuted instantiation: route-table.c:ipv6_addr_equals Unexecuted instantiation: tc.c:ipv6_addr_equals Unexecuted instantiation: classifier.c:ipv6_addr_equals Unexecuted instantiation: dp-packet-gso.c:ipv6_addr_equals Unexecuted instantiation: dpif.c:ipv6_addr_equals Unexecuted instantiation: meta-flow.c:ipv6_addr_equals Unexecuted instantiation: netdev-offload.c:ipv6_addr_equals Unexecuted instantiation: netdev-vport.c:ipv6_addr_equals Unexecuted instantiation: netlink.c:ipv6_addr_equals Unexecuted instantiation: nx-match.c:ipv6_addr_equals Unexecuted instantiation: odp-execute.c:ipv6_addr_equals Unexecuted instantiation: odp-execute-private.c:ipv6_addr_equals Unexecuted instantiation: odp-util.c:ipv6_addr_equals Unexecuted instantiation: ofp-actions.c:ipv6_addr_equals Unexecuted instantiation: ofp-ct.c:ipv6_addr_equals Unexecuted instantiation: ofp-ed-props.c:ipv6_addr_equals Unexecuted instantiation: ofp-flow.c:ipv6_addr_equals Unexecuted instantiation: ofp-group.c:ipv6_addr_equals Unexecuted instantiation: ofp-match.c:ipv6_addr_equals Unexecuted instantiation: ofp-meter.c:ipv6_addr_equals Unexecuted instantiation: ofp-monitor.c:ipv6_addr_equals Unexecuted instantiation: ofp-packet.c:ipv6_addr_equals Unexecuted instantiation: ofp-parse.c:ipv6_addr_equals Unexecuted instantiation: stream.c:ipv6_addr_equals Unexecuted instantiation: tnl-neigh-cache.c:ipv6_addr_equals Unexecuted instantiation: netdev-native-tnl.c:ipv6_addr_equals Unexecuted instantiation: stream-unix.c:ipv6_addr_equals Unexecuted instantiation: dpif-netlink.c:ipv6_addr_equals Unexecuted instantiation: dpif-netlink-rtnl.c:ipv6_addr_equals Unexecuted instantiation: netlink-conntrack.c:ipv6_addr_equals Unexecuted instantiation: stream-ssl.c:ipv6_addr_equals Unexecuted instantiation: bundle.c:ipv6_addr_equals Unexecuted instantiation: conntrack.c:ipv6_addr_equals Unexecuted instantiation: ct-dpif.c:ipv6_addr_equals Unexecuted instantiation: dpctl.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev-private-dfc.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev-private-dpif.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev-private-extract.c:ipv6_addr_equals Unexecuted instantiation: ipf.c:ipv6_addr_equals Unexecuted instantiation: learn.c:ipv6_addr_equals Unexecuted instantiation: multipath.c:ipv6_addr_equals Unexecuted instantiation: stream-tcp.c:ipv6_addr_equals Unexecuted instantiation: conntrack-icmp.c:ipv6_addr_equals Unexecuted instantiation: conntrack-tcp.c:ipv6_addr_equals Unexecuted instantiation: conntrack-tp.c:ipv6_addr_equals Unexecuted instantiation: conntrack-other.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev-extract-study.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev-lookup.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ipv6_addr_equals Unexecuted instantiation: dpif-netdev-lookup-generic.c:ipv6_addr_equals |
1184 | | |
1185 | | /* Checks the IPv6 address in 'mask' for all zeroes. */ |
1186 | 0 | static inline bool ipv6_mask_is_any(const struct in6_addr *mask) { |
1187 | 0 | return ipv6_addr_equals(mask, &in6addr_any); |
1188 | 0 | } Unexecuted instantiation: miniflow_target.c:ipv6_mask_is_any Unexecuted instantiation: dp-packet.c:ipv6_mask_is_any Unexecuted instantiation: flow.c:ipv6_mask_is_any Unexecuted instantiation: match.c:ipv6_mask_is_any Unexecuted instantiation: netdev.c:ipv6_mask_is_any Unexecuted instantiation: ofp-port.c:ipv6_mask_is_any Unexecuted instantiation: ofp-print.c:ipv6_mask_is_any Unexecuted instantiation: ofp-queue.c:ipv6_mask_is_any Unexecuted instantiation: ofp-table.c:ipv6_mask_is_any Unexecuted instantiation: ofp-util.c:ipv6_mask_is_any Unexecuted instantiation: ovs-router.c:ipv6_mask_is_any Unexecuted instantiation: packets.c:ipv6_mask_is_any Unexecuted instantiation: smap.c:ipv6_mask_is_any Unexecuted instantiation: socket-util.c:ipv6_mask_is_any Unexecuted instantiation: tnl-ports.c:ipv6_mask_is_any Unexecuted instantiation: tun-metadata.c:ipv6_mask_is_any Unexecuted instantiation: netdev-linux.c:ipv6_mask_is_any Unexecuted instantiation: netdev-offload-tc.c:ipv6_mask_is_any Unexecuted instantiation: rtnetlink.c:ipv6_mask_is_any Unexecuted instantiation: route-table.c:ipv6_mask_is_any Unexecuted instantiation: tc.c:ipv6_mask_is_any Unexecuted instantiation: classifier.c:ipv6_mask_is_any Unexecuted instantiation: dp-packet-gso.c:ipv6_mask_is_any Unexecuted instantiation: dpif.c:ipv6_mask_is_any Unexecuted instantiation: meta-flow.c:ipv6_mask_is_any Unexecuted instantiation: netdev-offload.c:ipv6_mask_is_any Unexecuted instantiation: netdev-vport.c:ipv6_mask_is_any Unexecuted instantiation: netlink.c:ipv6_mask_is_any Unexecuted instantiation: nx-match.c:ipv6_mask_is_any Unexecuted instantiation: odp-execute.c:ipv6_mask_is_any Unexecuted instantiation: odp-execute-private.c:ipv6_mask_is_any Unexecuted instantiation: odp-util.c:ipv6_mask_is_any Unexecuted instantiation: ofp-actions.c:ipv6_mask_is_any Unexecuted instantiation: ofp-ct.c:ipv6_mask_is_any Unexecuted instantiation: ofp-ed-props.c:ipv6_mask_is_any Unexecuted instantiation: ofp-flow.c:ipv6_mask_is_any Unexecuted instantiation: ofp-group.c:ipv6_mask_is_any Unexecuted instantiation: ofp-match.c:ipv6_mask_is_any Unexecuted instantiation: ofp-meter.c:ipv6_mask_is_any Unexecuted instantiation: ofp-monitor.c:ipv6_mask_is_any Unexecuted instantiation: ofp-packet.c:ipv6_mask_is_any Unexecuted instantiation: ofp-parse.c:ipv6_mask_is_any Unexecuted instantiation: stream.c:ipv6_mask_is_any Unexecuted instantiation: tnl-neigh-cache.c:ipv6_mask_is_any Unexecuted instantiation: netdev-native-tnl.c:ipv6_mask_is_any Unexecuted instantiation: stream-unix.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netlink.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netlink-rtnl.c:ipv6_mask_is_any Unexecuted instantiation: netlink-conntrack.c:ipv6_mask_is_any Unexecuted instantiation: stream-ssl.c:ipv6_mask_is_any Unexecuted instantiation: bundle.c:ipv6_mask_is_any Unexecuted instantiation: conntrack.c:ipv6_mask_is_any Unexecuted instantiation: ct-dpif.c:ipv6_mask_is_any Unexecuted instantiation: dpctl.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev-private-dfc.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev-private-dpif.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev-private-extract.c:ipv6_mask_is_any Unexecuted instantiation: ipf.c:ipv6_mask_is_any Unexecuted instantiation: learn.c:ipv6_mask_is_any Unexecuted instantiation: multipath.c:ipv6_mask_is_any Unexecuted instantiation: stream-tcp.c:ipv6_mask_is_any Unexecuted instantiation: conntrack-icmp.c:ipv6_mask_is_any Unexecuted instantiation: conntrack-tcp.c:ipv6_mask_is_any Unexecuted instantiation: conntrack-tp.c:ipv6_mask_is_any Unexecuted instantiation: conntrack-other.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev-extract-study.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev-lookup.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ipv6_mask_is_any Unexecuted instantiation: dpif-netdev-lookup-generic.c:ipv6_mask_is_any |
1189 | | |
1190 | 0 | static inline bool ipv6_mask_is_exact(const struct in6_addr *mask) { |
1191 | 0 | return ipv6_addr_equals(mask, &in6addr_exact); |
1192 | 0 | } Unexecuted instantiation: miniflow_target.c:ipv6_mask_is_exact Unexecuted instantiation: dp-packet.c:ipv6_mask_is_exact Unexecuted instantiation: flow.c:ipv6_mask_is_exact Unexecuted instantiation: match.c:ipv6_mask_is_exact Unexecuted instantiation: netdev.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-port.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-print.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-queue.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-table.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-util.c:ipv6_mask_is_exact Unexecuted instantiation: ovs-router.c:ipv6_mask_is_exact Unexecuted instantiation: packets.c:ipv6_mask_is_exact Unexecuted instantiation: smap.c:ipv6_mask_is_exact Unexecuted instantiation: socket-util.c:ipv6_mask_is_exact Unexecuted instantiation: tnl-ports.c:ipv6_mask_is_exact Unexecuted instantiation: tun-metadata.c:ipv6_mask_is_exact Unexecuted instantiation: netdev-linux.c:ipv6_mask_is_exact Unexecuted instantiation: netdev-offload-tc.c:ipv6_mask_is_exact Unexecuted instantiation: rtnetlink.c:ipv6_mask_is_exact Unexecuted instantiation: route-table.c:ipv6_mask_is_exact Unexecuted instantiation: tc.c:ipv6_mask_is_exact Unexecuted instantiation: classifier.c:ipv6_mask_is_exact Unexecuted instantiation: dp-packet-gso.c:ipv6_mask_is_exact Unexecuted instantiation: dpif.c:ipv6_mask_is_exact Unexecuted instantiation: meta-flow.c:ipv6_mask_is_exact Unexecuted instantiation: netdev-offload.c:ipv6_mask_is_exact Unexecuted instantiation: netdev-vport.c:ipv6_mask_is_exact Unexecuted instantiation: netlink.c:ipv6_mask_is_exact Unexecuted instantiation: nx-match.c:ipv6_mask_is_exact Unexecuted instantiation: odp-execute.c:ipv6_mask_is_exact Unexecuted instantiation: odp-execute-private.c:ipv6_mask_is_exact Unexecuted instantiation: odp-util.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-actions.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-ct.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-ed-props.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-flow.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-group.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-match.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-meter.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-monitor.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-packet.c:ipv6_mask_is_exact Unexecuted instantiation: ofp-parse.c:ipv6_mask_is_exact Unexecuted instantiation: stream.c:ipv6_mask_is_exact Unexecuted instantiation: tnl-neigh-cache.c:ipv6_mask_is_exact Unexecuted instantiation: netdev-native-tnl.c:ipv6_mask_is_exact Unexecuted instantiation: stream-unix.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netlink.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netlink-rtnl.c:ipv6_mask_is_exact Unexecuted instantiation: netlink-conntrack.c:ipv6_mask_is_exact Unexecuted instantiation: stream-ssl.c:ipv6_mask_is_exact Unexecuted instantiation: bundle.c:ipv6_mask_is_exact Unexecuted instantiation: conntrack.c:ipv6_mask_is_exact Unexecuted instantiation: ct-dpif.c:ipv6_mask_is_exact Unexecuted instantiation: dpctl.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev-private-dfc.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev-private-dpif.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev-private-extract.c:ipv6_mask_is_exact Unexecuted instantiation: ipf.c:ipv6_mask_is_exact Unexecuted instantiation: learn.c:ipv6_mask_is_exact Unexecuted instantiation: multipath.c:ipv6_mask_is_exact Unexecuted instantiation: stream-tcp.c:ipv6_mask_is_exact Unexecuted instantiation: conntrack-icmp.c:ipv6_mask_is_exact Unexecuted instantiation: conntrack-tcp.c:ipv6_mask_is_exact Unexecuted instantiation: conntrack-tp.c:ipv6_mask_is_exact Unexecuted instantiation: conntrack-other.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev-extract-study.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev-lookup.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ipv6_mask_is_exact Unexecuted instantiation: dpif-netdev-lookup-generic.c:ipv6_mask_is_exact |
1193 | | |
1194 | 0 | static inline bool ipv6_is_all_hosts(const struct in6_addr *addr) { |
1195 | 0 | return ipv6_addr_equals(addr, &in6addr_all_hosts); |
1196 | 0 | } Unexecuted instantiation: miniflow_target.c:ipv6_is_all_hosts Unexecuted instantiation: dp-packet.c:ipv6_is_all_hosts Unexecuted instantiation: flow.c:ipv6_is_all_hosts Unexecuted instantiation: match.c:ipv6_is_all_hosts Unexecuted instantiation: netdev.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-port.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-print.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-queue.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-table.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-util.c:ipv6_is_all_hosts Unexecuted instantiation: ovs-router.c:ipv6_is_all_hosts Unexecuted instantiation: packets.c:ipv6_is_all_hosts Unexecuted instantiation: smap.c:ipv6_is_all_hosts Unexecuted instantiation: socket-util.c:ipv6_is_all_hosts Unexecuted instantiation: tnl-ports.c:ipv6_is_all_hosts Unexecuted instantiation: tun-metadata.c:ipv6_is_all_hosts Unexecuted instantiation: netdev-linux.c:ipv6_is_all_hosts Unexecuted instantiation: netdev-offload-tc.c:ipv6_is_all_hosts Unexecuted instantiation: rtnetlink.c:ipv6_is_all_hosts Unexecuted instantiation: route-table.c:ipv6_is_all_hosts Unexecuted instantiation: tc.c:ipv6_is_all_hosts Unexecuted instantiation: classifier.c:ipv6_is_all_hosts Unexecuted instantiation: dp-packet-gso.c:ipv6_is_all_hosts Unexecuted instantiation: dpif.c:ipv6_is_all_hosts Unexecuted instantiation: meta-flow.c:ipv6_is_all_hosts Unexecuted instantiation: netdev-offload.c:ipv6_is_all_hosts Unexecuted instantiation: netdev-vport.c:ipv6_is_all_hosts Unexecuted instantiation: netlink.c:ipv6_is_all_hosts Unexecuted instantiation: nx-match.c:ipv6_is_all_hosts Unexecuted instantiation: odp-execute.c:ipv6_is_all_hosts Unexecuted instantiation: odp-execute-private.c:ipv6_is_all_hosts Unexecuted instantiation: odp-util.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-actions.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-ct.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-ed-props.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-flow.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-group.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-match.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-meter.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-monitor.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-packet.c:ipv6_is_all_hosts Unexecuted instantiation: ofp-parse.c:ipv6_is_all_hosts Unexecuted instantiation: stream.c:ipv6_is_all_hosts Unexecuted instantiation: tnl-neigh-cache.c:ipv6_is_all_hosts Unexecuted instantiation: netdev-native-tnl.c:ipv6_is_all_hosts Unexecuted instantiation: stream-unix.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netlink.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netlink-rtnl.c:ipv6_is_all_hosts Unexecuted instantiation: netlink-conntrack.c:ipv6_is_all_hosts Unexecuted instantiation: stream-ssl.c:ipv6_is_all_hosts Unexecuted instantiation: bundle.c:ipv6_is_all_hosts Unexecuted instantiation: conntrack.c:ipv6_is_all_hosts Unexecuted instantiation: ct-dpif.c:ipv6_is_all_hosts Unexecuted instantiation: dpctl.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev-private-dfc.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev-private-dpif.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev-private-extract.c:ipv6_is_all_hosts Unexecuted instantiation: ipf.c:ipv6_is_all_hosts Unexecuted instantiation: learn.c:ipv6_is_all_hosts Unexecuted instantiation: multipath.c:ipv6_is_all_hosts Unexecuted instantiation: stream-tcp.c:ipv6_is_all_hosts Unexecuted instantiation: conntrack-icmp.c:ipv6_is_all_hosts Unexecuted instantiation: conntrack-tcp.c:ipv6_is_all_hosts Unexecuted instantiation: conntrack-tp.c:ipv6_is_all_hosts Unexecuted instantiation: conntrack-other.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev-extract-study.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev-lookup.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ipv6_is_all_hosts Unexecuted instantiation: dpif-netdev-lookup-generic.c:ipv6_is_all_hosts |
1197 | | |
1198 | 0 | static inline bool ipv6_addr_is_set(const struct in6_addr *addr) { |
1199 | 0 | return !ipv6_addr_equals(addr, &in6addr_any); |
1200 | 0 | } Unexecuted instantiation: miniflow_target.c:ipv6_addr_is_set Unexecuted instantiation: dp-packet.c:ipv6_addr_is_set Unexecuted instantiation: flow.c:ipv6_addr_is_set Unexecuted instantiation: match.c:ipv6_addr_is_set Unexecuted instantiation: netdev.c:ipv6_addr_is_set Unexecuted instantiation: ofp-port.c:ipv6_addr_is_set Unexecuted instantiation: ofp-print.c:ipv6_addr_is_set Unexecuted instantiation: ofp-queue.c:ipv6_addr_is_set Unexecuted instantiation: ofp-table.c:ipv6_addr_is_set Unexecuted instantiation: ofp-util.c:ipv6_addr_is_set Unexecuted instantiation: ovs-router.c:ipv6_addr_is_set Unexecuted instantiation: packets.c:ipv6_addr_is_set Unexecuted instantiation: smap.c:ipv6_addr_is_set Unexecuted instantiation: socket-util.c:ipv6_addr_is_set Unexecuted instantiation: tnl-ports.c:ipv6_addr_is_set Unexecuted instantiation: tun-metadata.c:ipv6_addr_is_set Unexecuted instantiation: netdev-linux.c:ipv6_addr_is_set Unexecuted instantiation: netdev-offload-tc.c:ipv6_addr_is_set Unexecuted instantiation: rtnetlink.c:ipv6_addr_is_set Unexecuted instantiation: route-table.c:ipv6_addr_is_set Unexecuted instantiation: tc.c:ipv6_addr_is_set Unexecuted instantiation: classifier.c:ipv6_addr_is_set Unexecuted instantiation: dp-packet-gso.c:ipv6_addr_is_set Unexecuted instantiation: dpif.c:ipv6_addr_is_set Unexecuted instantiation: meta-flow.c:ipv6_addr_is_set Unexecuted instantiation: netdev-offload.c:ipv6_addr_is_set Unexecuted instantiation: netdev-vport.c:ipv6_addr_is_set Unexecuted instantiation: netlink.c:ipv6_addr_is_set Unexecuted instantiation: nx-match.c:ipv6_addr_is_set Unexecuted instantiation: odp-execute.c:ipv6_addr_is_set Unexecuted instantiation: odp-execute-private.c:ipv6_addr_is_set Unexecuted instantiation: odp-util.c:ipv6_addr_is_set Unexecuted instantiation: ofp-actions.c:ipv6_addr_is_set Unexecuted instantiation: ofp-ct.c:ipv6_addr_is_set Unexecuted instantiation: ofp-ed-props.c:ipv6_addr_is_set Unexecuted instantiation: ofp-flow.c:ipv6_addr_is_set Unexecuted instantiation: ofp-group.c:ipv6_addr_is_set Unexecuted instantiation: ofp-match.c:ipv6_addr_is_set Unexecuted instantiation: ofp-meter.c:ipv6_addr_is_set Unexecuted instantiation: ofp-monitor.c:ipv6_addr_is_set Unexecuted instantiation: ofp-packet.c:ipv6_addr_is_set Unexecuted instantiation: ofp-parse.c:ipv6_addr_is_set Unexecuted instantiation: stream.c:ipv6_addr_is_set Unexecuted instantiation: tnl-neigh-cache.c:ipv6_addr_is_set Unexecuted instantiation: netdev-native-tnl.c:ipv6_addr_is_set Unexecuted instantiation: stream-unix.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netlink.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netlink-rtnl.c:ipv6_addr_is_set Unexecuted instantiation: netlink-conntrack.c:ipv6_addr_is_set Unexecuted instantiation: stream-ssl.c:ipv6_addr_is_set Unexecuted instantiation: bundle.c:ipv6_addr_is_set Unexecuted instantiation: conntrack.c:ipv6_addr_is_set Unexecuted instantiation: ct-dpif.c:ipv6_addr_is_set Unexecuted instantiation: dpctl.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev-private-dfc.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev-private-dpif.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev-private-extract.c:ipv6_addr_is_set Unexecuted instantiation: ipf.c:ipv6_addr_is_set Unexecuted instantiation: learn.c:ipv6_addr_is_set Unexecuted instantiation: multipath.c:ipv6_addr_is_set Unexecuted instantiation: stream-tcp.c:ipv6_addr_is_set Unexecuted instantiation: conntrack-icmp.c:ipv6_addr_is_set Unexecuted instantiation: conntrack-tcp.c:ipv6_addr_is_set Unexecuted instantiation: conntrack-tp.c:ipv6_addr_is_set Unexecuted instantiation: conntrack-other.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev-extract-study.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev-lookup.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ipv6_addr_is_set Unexecuted instantiation: dpif-netdev-lookup-generic.c:ipv6_addr_is_set |
1201 | | |
1202 | 0 | static inline bool ipv6_addr_is_multicast(const struct in6_addr *ip) { |
1203 | 0 | return ip->s6_addr[0] == 0xff; |
1204 | 0 | } Unexecuted instantiation: miniflow_target.c:ipv6_addr_is_multicast Unexecuted instantiation: dp-packet.c:ipv6_addr_is_multicast Unexecuted instantiation: flow.c:ipv6_addr_is_multicast Unexecuted instantiation: match.c:ipv6_addr_is_multicast Unexecuted instantiation: netdev.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-port.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-print.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-queue.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-table.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-util.c:ipv6_addr_is_multicast Unexecuted instantiation: ovs-router.c:ipv6_addr_is_multicast Unexecuted instantiation: packets.c:ipv6_addr_is_multicast Unexecuted instantiation: smap.c:ipv6_addr_is_multicast Unexecuted instantiation: socket-util.c:ipv6_addr_is_multicast Unexecuted instantiation: tnl-ports.c:ipv6_addr_is_multicast Unexecuted instantiation: tun-metadata.c:ipv6_addr_is_multicast Unexecuted instantiation: netdev-linux.c:ipv6_addr_is_multicast Unexecuted instantiation: netdev-offload-tc.c:ipv6_addr_is_multicast Unexecuted instantiation: rtnetlink.c:ipv6_addr_is_multicast Unexecuted instantiation: route-table.c:ipv6_addr_is_multicast Unexecuted instantiation: tc.c:ipv6_addr_is_multicast Unexecuted instantiation: classifier.c:ipv6_addr_is_multicast Unexecuted instantiation: dp-packet-gso.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif.c:ipv6_addr_is_multicast Unexecuted instantiation: meta-flow.c:ipv6_addr_is_multicast Unexecuted instantiation: netdev-offload.c:ipv6_addr_is_multicast Unexecuted instantiation: netdev-vport.c:ipv6_addr_is_multicast Unexecuted instantiation: netlink.c:ipv6_addr_is_multicast Unexecuted instantiation: nx-match.c:ipv6_addr_is_multicast Unexecuted instantiation: odp-execute.c:ipv6_addr_is_multicast Unexecuted instantiation: odp-execute-private.c:ipv6_addr_is_multicast Unexecuted instantiation: odp-util.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-actions.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-ct.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-ed-props.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-flow.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-group.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-match.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-meter.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-monitor.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-packet.c:ipv6_addr_is_multicast Unexecuted instantiation: ofp-parse.c:ipv6_addr_is_multicast Unexecuted instantiation: stream.c:ipv6_addr_is_multicast Unexecuted instantiation: tnl-neigh-cache.c:ipv6_addr_is_multicast Unexecuted instantiation: netdev-native-tnl.c:ipv6_addr_is_multicast Unexecuted instantiation: stream-unix.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netlink.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netlink-rtnl.c:ipv6_addr_is_multicast Unexecuted instantiation: netlink-conntrack.c:ipv6_addr_is_multicast Unexecuted instantiation: stream-ssl.c:ipv6_addr_is_multicast Unexecuted instantiation: bundle.c:ipv6_addr_is_multicast Unexecuted instantiation: conntrack.c:ipv6_addr_is_multicast Unexecuted instantiation: ct-dpif.c:ipv6_addr_is_multicast Unexecuted instantiation: dpctl.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev-private-dfc.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev-private-dpif.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev-private-extract.c:ipv6_addr_is_multicast Unexecuted instantiation: ipf.c:ipv6_addr_is_multicast Unexecuted instantiation: learn.c:ipv6_addr_is_multicast Unexecuted instantiation: multipath.c:ipv6_addr_is_multicast Unexecuted instantiation: stream-tcp.c:ipv6_addr_is_multicast Unexecuted instantiation: conntrack-icmp.c:ipv6_addr_is_multicast Unexecuted instantiation: conntrack-tcp.c:ipv6_addr_is_multicast Unexecuted instantiation: conntrack-tp.c:ipv6_addr_is_multicast Unexecuted instantiation: conntrack-other.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev-extract-study.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev-lookup.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:ipv6_addr_is_multicast Unexecuted instantiation: dpif-netdev-lookup-generic.c:ipv6_addr_is_multicast |
1205 | | |
1206 | | static inline struct in6_addr |
1207 | | in6_addr_mapped_ipv4(ovs_be32 ip4) |
1208 | 0 | { |
1209 | 0 | struct in6_addr ip6; |
1210 | 0 | memset(&ip6, 0, sizeof(ip6)); |
1211 | 0 | ip6.s6_addr[10] = 0xff, ip6.s6_addr[11] = 0xff; |
1212 | 0 | memcpy(&ip6.s6_addr[12], &ip4, 4); |
1213 | 0 | return ip6; |
1214 | 0 | } Unexecuted instantiation: miniflow_target.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dp-packet.c:in6_addr_mapped_ipv4 Unexecuted instantiation: flow.c:in6_addr_mapped_ipv4 Unexecuted instantiation: match.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netdev.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-port.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-print.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-queue.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-table.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-util.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ovs-router.c:in6_addr_mapped_ipv4 Unexecuted instantiation: packets.c:in6_addr_mapped_ipv4 Unexecuted instantiation: smap.c:in6_addr_mapped_ipv4 Unexecuted instantiation: socket-util.c:in6_addr_mapped_ipv4 Unexecuted instantiation: tnl-ports.c:in6_addr_mapped_ipv4 Unexecuted instantiation: tun-metadata.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netdev-linux.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netdev-offload-tc.c:in6_addr_mapped_ipv4 Unexecuted instantiation: rtnetlink.c:in6_addr_mapped_ipv4 Unexecuted instantiation: route-table.c:in6_addr_mapped_ipv4 Unexecuted instantiation: tc.c:in6_addr_mapped_ipv4 Unexecuted instantiation: classifier.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dp-packet-gso.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif.c:in6_addr_mapped_ipv4 Unexecuted instantiation: meta-flow.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netdev-offload.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netdev-vport.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netlink.c:in6_addr_mapped_ipv4 Unexecuted instantiation: nx-match.c:in6_addr_mapped_ipv4 Unexecuted instantiation: odp-execute.c:in6_addr_mapped_ipv4 Unexecuted instantiation: odp-execute-private.c:in6_addr_mapped_ipv4 Unexecuted instantiation: odp-util.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-actions.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-ct.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-ed-props.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-flow.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-group.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-match.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-meter.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-monitor.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-packet.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ofp-parse.c:in6_addr_mapped_ipv4 Unexecuted instantiation: stream.c:in6_addr_mapped_ipv4 Unexecuted instantiation: tnl-neigh-cache.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netdev-native-tnl.c:in6_addr_mapped_ipv4 Unexecuted instantiation: stream-unix.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netlink.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netlink-rtnl.c:in6_addr_mapped_ipv4 Unexecuted instantiation: netlink-conntrack.c:in6_addr_mapped_ipv4 Unexecuted instantiation: stream-ssl.c:in6_addr_mapped_ipv4 Unexecuted instantiation: bundle.c:in6_addr_mapped_ipv4 Unexecuted instantiation: conntrack.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ct-dpif.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpctl.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-dfc.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-dpif.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-extract.c:in6_addr_mapped_ipv4 Unexecuted instantiation: ipf.c:in6_addr_mapped_ipv4 Unexecuted instantiation: learn.c:in6_addr_mapped_ipv4 Unexecuted instantiation: multipath.c:in6_addr_mapped_ipv4 Unexecuted instantiation: stream-tcp.c:in6_addr_mapped_ipv4 Unexecuted instantiation: conntrack-icmp.c:in6_addr_mapped_ipv4 Unexecuted instantiation: conntrack-tcp.c:in6_addr_mapped_ipv4 Unexecuted instantiation: conntrack-tp.c:in6_addr_mapped_ipv4 Unexecuted instantiation: conntrack-other.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev-extract-study.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:in6_addr_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup-generic.c:in6_addr_mapped_ipv4 |
1215 | | |
1216 | | static inline void |
1217 | | in6_addr_set_mapped_ipv4(struct in6_addr *ip6, ovs_be32 ip4) |
1218 | 0 | { |
1219 | 0 | *ip6 = in6_addr_mapped_ipv4(ip4); |
1220 | 0 | } Unexecuted instantiation: miniflow_target.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dp-packet.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: flow.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: match.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netdev.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-port.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-print.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-queue.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-table.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-util.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ovs-router.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: packets.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: smap.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: socket-util.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: tnl-ports.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: tun-metadata.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netdev-linux.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netdev-offload-tc.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: rtnetlink.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: route-table.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: tc.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: classifier.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dp-packet-gso.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: meta-flow.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netdev-offload.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netdev-vport.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netlink.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: nx-match.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: odp-execute.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: odp-execute-private.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: odp-util.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-actions.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-ct.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-ed-props.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-flow.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-group.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-match.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-meter.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-monitor.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-packet.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ofp-parse.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: stream.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: tnl-neigh-cache.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netdev-native-tnl.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: stream-unix.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netlink.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netlink-rtnl.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: netlink-conntrack.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: stream-ssl.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: bundle.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: conntrack.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ct-dpif.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpctl.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-dfc.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-dpif.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-extract.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: ipf.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: learn.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: multipath.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: stream-tcp.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: conntrack-icmp.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: conntrack-tcp.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: conntrack-tp.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: conntrack-other.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev-extract-study.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:in6_addr_set_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup-generic.c:in6_addr_set_mapped_ipv4 |
1221 | | |
1222 | | static inline ovs_be32 |
1223 | | in6_addr_get_mapped_ipv4(const struct in6_addr *addr) |
1224 | 0 | { |
1225 | 0 | union ovs_16aligned_in6_addr *taddr = |
1226 | 0 | (union ovs_16aligned_in6_addr *) addr; |
1227 | 0 | if (IN6_IS_ADDR_V4MAPPED(addr)) { |
1228 | 0 | return get_16aligned_be32(&taddr->be32[3]); |
1229 | 0 | } else { |
1230 | 0 | return INADDR_ANY; |
1231 | 0 | } |
1232 | 0 | } Unexecuted instantiation: miniflow_target.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dp-packet.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: flow.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: match.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netdev.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-port.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-print.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-queue.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-table.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-util.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ovs-router.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: packets.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: smap.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: socket-util.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: tnl-ports.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: tun-metadata.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netdev-linux.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netdev-offload-tc.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: rtnetlink.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: route-table.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: tc.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: classifier.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dp-packet-gso.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: meta-flow.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netdev-offload.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netdev-vport.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netlink.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: nx-match.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: odp-execute.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: odp-execute-private.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: odp-util.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-actions.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-ct.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-ed-props.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-flow.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-group.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-match.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-meter.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-monitor.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-packet.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ofp-parse.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: stream.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: tnl-neigh-cache.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netdev-native-tnl.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: stream-unix.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netlink.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netlink-rtnl.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: netlink-conntrack.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: stream-ssl.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: bundle.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: conntrack.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ct-dpif.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpctl.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-dfc.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-dpif.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev-private-extract.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: ipf.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: learn.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: multipath.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: stream-tcp.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: conntrack-icmp.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: conntrack-tcp.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: conntrack-tp.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: conntrack-other.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev-extract-study.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:in6_addr_get_mapped_ipv4 Unexecuted instantiation: dpif-netdev-lookup-generic.c:in6_addr_get_mapped_ipv4 |
1233 | | |
1234 | | void in6_addr_solicited_node(struct in6_addr *addr, |
1235 | | const struct in6_addr *ip6); |
1236 | | |
1237 | | void in6_generate_eui64(struct eth_addr ea, const struct in6_addr *prefix, |
1238 | | struct in6_addr *lla); |
1239 | | |
1240 | | void in6_generate_lla(struct eth_addr ea, struct in6_addr *lla); |
1241 | | |
1242 | | /* Returns true if 'addr' is a link local address. Otherwise, false. */ |
1243 | | bool in6_is_lla(struct in6_addr *addr); |
1244 | | |
1245 | | void ipv6_multicast_to_ethernet(struct eth_addr *eth, |
1246 | | const struct in6_addr *ip6); |
1247 | | |
1248 | | static inline bool dl_type_is_ip_any(ovs_be16 dl_type) |
1249 | 0 | { |
1250 | 0 | return dl_type == htons(ETH_TYPE_IP) |
1251 | 0 | || dl_type == htons(ETH_TYPE_IPV6); |
1252 | 0 | } Unexecuted instantiation: miniflow_target.c:dl_type_is_ip_any Unexecuted instantiation: dp-packet.c:dl_type_is_ip_any Unexecuted instantiation: flow.c:dl_type_is_ip_any Unexecuted instantiation: match.c:dl_type_is_ip_any Unexecuted instantiation: netdev.c:dl_type_is_ip_any Unexecuted instantiation: ofp-port.c:dl_type_is_ip_any Unexecuted instantiation: ofp-print.c:dl_type_is_ip_any Unexecuted instantiation: ofp-queue.c:dl_type_is_ip_any Unexecuted instantiation: ofp-table.c:dl_type_is_ip_any Unexecuted instantiation: ofp-util.c:dl_type_is_ip_any Unexecuted instantiation: ovs-router.c:dl_type_is_ip_any Unexecuted instantiation: packets.c:dl_type_is_ip_any Unexecuted instantiation: smap.c:dl_type_is_ip_any Unexecuted instantiation: socket-util.c:dl_type_is_ip_any Unexecuted instantiation: tnl-ports.c:dl_type_is_ip_any Unexecuted instantiation: tun-metadata.c:dl_type_is_ip_any Unexecuted instantiation: netdev-linux.c:dl_type_is_ip_any Unexecuted instantiation: netdev-offload-tc.c:dl_type_is_ip_any Unexecuted instantiation: rtnetlink.c:dl_type_is_ip_any Unexecuted instantiation: route-table.c:dl_type_is_ip_any Unexecuted instantiation: tc.c:dl_type_is_ip_any Unexecuted instantiation: classifier.c:dl_type_is_ip_any Unexecuted instantiation: dp-packet-gso.c:dl_type_is_ip_any Unexecuted instantiation: dpif.c:dl_type_is_ip_any Unexecuted instantiation: meta-flow.c:dl_type_is_ip_any Unexecuted instantiation: netdev-offload.c:dl_type_is_ip_any Unexecuted instantiation: netdev-vport.c:dl_type_is_ip_any Unexecuted instantiation: netlink.c:dl_type_is_ip_any Unexecuted instantiation: nx-match.c:dl_type_is_ip_any Unexecuted instantiation: odp-execute.c:dl_type_is_ip_any Unexecuted instantiation: odp-execute-private.c:dl_type_is_ip_any Unexecuted instantiation: odp-util.c:dl_type_is_ip_any Unexecuted instantiation: ofp-actions.c:dl_type_is_ip_any Unexecuted instantiation: ofp-ct.c:dl_type_is_ip_any Unexecuted instantiation: ofp-ed-props.c:dl_type_is_ip_any Unexecuted instantiation: ofp-flow.c:dl_type_is_ip_any Unexecuted instantiation: ofp-group.c:dl_type_is_ip_any Unexecuted instantiation: ofp-match.c:dl_type_is_ip_any Unexecuted instantiation: ofp-meter.c:dl_type_is_ip_any Unexecuted instantiation: ofp-monitor.c:dl_type_is_ip_any Unexecuted instantiation: ofp-packet.c:dl_type_is_ip_any Unexecuted instantiation: ofp-parse.c:dl_type_is_ip_any Unexecuted instantiation: stream.c:dl_type_is_ip_any Unexecuted instantiation: tnl-neigh-cache.c:dl_type_is_ip_any Unexecuted instantiation: netdev-native-tnl.c:dl_type_is_ip_any Unexecuted instantiation: stream-unix.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netlink.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netlink-rtnl.c:dl_type_is_ip_any Unexecuted instantiation: netlink-conntrack.c:dl_type_is_ip_any Unexecuted instantiation: stream-ssl.c:dl_type_is_ip_any Unexecuted instantiation: bundle.c:dl_type_is_ip_any Unexecuted instantiation: conntrack.c:dl_type_is_ip_any Unexecuted instantiation: ct-dpif.c:dl_type_is_ip_any Unexecuted instantiation: dpctl.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev-private-dfc.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev-private-dpif.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev-private-extract.c:dl_type_is_ip_any Unexecuted instantiation: ipf.c:dl_type_is_ip_any Unexecuted instantiation: learn.c:dl_type_is_ip_any Unexecuted instantiation: multipath.c:dl_type_is_ip_any Unexecuted instantiation: stream-tcp.c:dl_type_is_ip_any Unexecuted instantiation: conntrack-icmp.c:dl_type_is_ip_any Unexecuted instantiation: conntrack-tcp.c:dl_type_is_ip_any Unexecuted instantiation: conntrack-tp.c:dl_type_is_ip_any Unexecuted instantiation: conntrack-other.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev-extract-study.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev-lookup.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:dl_type_is_ip_any Unexecuted instantiation: dpif-netdev-lookup-generic.c:dl_type_is_ip_any |
1253 | | |
1254 | | /* Tunnel header */ |
1255 | | |
1256 | | /* GRE protocol header */ |
1257 | | struct gre_base_hdr { |
1258 | | ovs_be16 flags; |
1259 | | ovs_be16 protocol; |
1260 | | }; |
1261 | | |
1262 | | #define GRE_CSUM 0x8000 |
1263 | | #define GRE_ROUTING 0x4000 |
1264 | | #define GRE_KEY 0x2000 |
1265 | | #define GRE_SEQ 0x1000 |
1266 | | #define GRE_STRICT 0x0800 |
1267 | | #define GRE_REC 0x0700 |
1268 | | #define GRE_FLAGS 0x00F8 |
1269 | | #define GRE_VERSION 0x0007 |
1270 | | |
1271 | | /* |
1272 | | * ERSPAN protocol header and metadata |
1273 | | * |
1274 | | * Version 1 (Type II) header (8 octets [42:49]) |
1275 | | * 0 1 2 3 |
1276 | | * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
1277 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1278 | | * | Ver | VLAN | COS | En|T| Session ID | |
1279 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1280 | | * | Reserved | Index | |
1281 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1282 | | * |
1283 | | * |
1284 | | * ERSPAN Version 2 (Type III) header (12 octets [42:49]) |
1285 | | * 0 1 2 3 |
1286 | | * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
1287 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1288 | | * | Ver | VLAN | COS |BSO|T| Session ID | |
1289 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1290 | | * | Timestamp | |
1291 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1292 | | * | SGT |P| FT | Hw ID |D|Gra|O| |
1293 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1294 | | * |
1295 | | */ |
1296 | | |
1297 | | /* ERSPAN has fixed 8-byte GRE header */ |
1298 | 0 | #define ERSPAN_GREHDR_LEN 8 |
1299 | | #define ERSPAN_HDR(gre_base_hdr) \ |
1300 | 0 | ((struct erspan_base_hdr *)((char *)gre_base_hdr + ERSPAN_GREHDR_LEN)) |
1301 | | |
1302 | 0 | #define ERSPAN_V1_MDSIZE 4 |
1303 | 0 | #define ERSPAN_V2_MDSIZE 8 |
1304 | | |
1305 | 0 | #define ERSPAN_SID_MASK 0x03ff /* 10-bit Session ID. */ |
1306 | 0 | #define ERSPAN_IDX_MASK 0xfffff /* v1 Index */ |
1307 | 0 | #define ERSPAN_HWID_MASK 0x03f0 |
1308 | | #define ERSPAN_DIR_MASK 0x0008 |
1309 | | |
1310 | | struct erspan_base_hdr { |
1311 | | #ifdef WORDS_BIGENDIAN |
1312 | | uint8_t ver:4, |
1313 | | vlan_upper:4; |
1314 | | uint8_t vlan:8; |
1315 | | uint8_t cos:3, |
1316 | | en:2, |
1317 | | t:1, |
1318 | | session_id_upper:2; |
1319 | | uint8_t session_id:8; |
1320 | | #else |
1321 | | uint8_t vlan_upper:4, |
1322 | | ver:4; |
1323 | | uint8_t vlan:8; |
1324 | | uint8_t session_id_upper:2, |
1325 | | t:1, |
1326 | | en:2, |
1327 | | cos:3; |
1328 | | uint8_t session_id:8; |
1329 | | #endif |
1330 | | }; |
1331 | | |
1332 | | struct erspan_md2 { |
1333 | | ovs_16aligned_be32 timestamp; |
1334 | | ovs_be16 sgt; |
1335 | | #ifdef WORDS_BIGENDIAN |
1336 | | uint8_t p:1, |
1337 | | ft:5, |
1338 | | hwid_upper:2; |
1339 | | uint8_t hwid:4, |
1340 | | dir:1, |
1341 | | gra:2, |
1342 | | o:1; |
1343 | | #else |
1344 | | uint8_t hwid_upper:2, |
1345 | | ft:5, |
1346 | | p:1; |
1347 | | uint8_t o:1, |
1348 | | gra:2, |
1349 | | dir:1, |
1350 | | hwid:4; |
1351 | | #endif |
1352 | | }; |
1353 | | |
1354 | | struct erspan_metadata { |
1355 | | int version; |
1356 | | union { |
1357 | | ovs_be32 index; /* Version 1 (type II)*/ |
1358 | | struct erspan_md2 md2; /* Version 2 (type III) */ |
1359 | | } u; |
1360 | | }; |
1361 | | |
1362 | | static inline uint16_t get_sid(const struct erspan_base_hdr *ershdr) |
1363 | 0 | { |
1364 | 0 | return (ershdr->session_id_upper << 8) + ershdr->session_id; |
1365 | 0 | } Unexecuted instantiation: miniflow_target.c:get_sid Unexecuted instantiation: dp-packet.c:get_sid Unexecuted instantiation: flow.c:get_sid Unexecuted instantiation: match.c:get_sid Unexecuted instantiation: netdev.c:get_sid Unexecuted instantiation: ofp-port.c:get_sid Unexecuted instantiation: ofp-print.c:get_sid Unexecuted instantiation: ofp-queue.c:get_sid Unexecuted instantiation: ofp-table.c:get_sid Unexecuted instantiation: ofp-util.c:get_sid Unexecuted instantiation: ovs-router.c:get_sid Unexecuted instantiation: packets.c:get_sid Unexecuted instantiation: smap.c:get_sid Unexecuted instantiation: socket-util.c:get_sid Unexecuted instantiation: tnl-ports.c:get_sid Unexecuted instantiation: tun-metadata.c:get_sid Unexecuted instantiation: netdev-linux.c:get_sid Unexecuted instantiation: netdev-offload-tc.c:get_sid Unexecuted instantiation: rtnetlink.c:get_sid Unexecuted instantiation: route-table.c:get_sid Unexecuted instantiation: tc.c:get_sid Unexecuted instantiation: classifier.c:get_sid Unexecuted instantiation: dp-packet-gso.c:get_sid Unexecuted instantiation: dpif.c:get_sid Unexecuted instantiation: meta-flow.c:get_sid Unexecuted instantiation: netdev-offload.c:get_sid Unexecuted instantiation: netdev-vport.c:get_sid Unexecuted instantiation: netlink.c:get_sid Unexecuted instantiation: nx-match.c:get_sid Unexecuted instantiation: odp-execute.c:get_sid Unexecuted instantiation: odp-execute-private.c:get_sid Unexecuted instantiation: odp-util.c:get_sid Unexecuted instantiation: ofp-actions.c:get_sid Unexecuted instantiation: ofp-ct.c:get_sid Unexecuted instantiation: ofp-ed-props.c:get_sid Unexecuted instantiation: ofp-flow.c:get_sid Unexecuted instantiation: ofp-group.c:get_sid Unexecuted instantiation: ofp-match.c:get_sid Unexecuted instantiation: ofp-meter.c:get_sid Unexecuted instantiation: ofp-monitor.c:get_sid Unexecuted instantiation: ofp-packet.c:get_sid Unexecuted instantiation: ofp-parse.c:get_sid Unexecuted instantiation: stream.c:get_sid Unexecuted instantiation: tnl-neigh-cache.c:get_sid Unexecuted instantiation: netdev-native-tnl.c:get_sid Unexecuted instantiation: stream-unix.c:get_sid Unexecuted instantiation: dpif-netlink.c:get_sid Unexecuted instantiation: dpif-netlink-rtnl.c:get_sid Unexecuted instantiation: netlink-conntrack.c:get_sid Unexecuted instantiation: stream-ssl.c:get_sid Unexecuted instantiation: bundle.c:get_sid Unexecuted instantiation: conntrack.c:get_sid Unexecuted instantiation: ct-dpif.c:get_sid Unexecuted instantiation: dpctl.c:get_sid Unexecuted instantiation: dpif-netdev.c:get_sid Unexecuted instantiation: dpif-netdev-private-dfc.c:get_sid Unexecuted instantiation: dpif-netdev-private-dpif.c:get_sid Unexecuted instantiation: dpif-netdev-private-extract.c:get_sid Unexecuted instantiation: ipf.c:get_sid Unexecuted instantiation: learn.c:get_sid Unexecuted instantiation: multipath.c:get_sid Unexecuted instantiation: stream-tcp.c:get_sid Unexecuted instantiation: conntrack-icmp.c:get_sid Unexecuted instantiation: conntrack-tcp.c:get_sid Unexecuted instantiation: conntrack-tp.c:get_sid Unexecuted instantiation: conntrack-other.c:get_sid Unexecuted instantiation: dpif-netdev-extract-study.c:get_sid Unexecuted instantiation: dpif-netdev-lookup.c:get_sid Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:get_sid Unexecuted instantiation: dpif-netdev-lookup-generic.c:get_sid |
1366 | | |
1367 | | static inline void set_sid(struct erspan_base_hdr *ershdr, uint16_t id) |
1368 | 0 | { |
1369 | 0 | ershdr->session_id = id & 0xff; |
1370 | 0 | ershdr->session_id_upper = (id >> 8) &0x3; |
1371 | 0 | } Unexecuted instantiation: miniflow_target.c:set_sid Unexecuted instantiation: dp-packet.c:set_sid Unexecuted instantiation: flow.c:set_sid Unexecuted instantiation: match.c:set_sid Unexecuted instantiation: netdev.c:set_sid Unexecuted instantiation: ofp-port.c:set_sid Unexecuted instantiation: ofp-print.c:set_sid Unexecuted instantiation: ofp-queue.c:set_sid Unexecuted instantiation: ofp-table.c:set_sid Unexecuted instantiation: ofp-util.c:set_sid Unexecuted instantiation: ovs-router.c:set_sid Unexecuted instantiation: packets.c:set_sid Unexecuted instantiation: smap.c:set_sid Unexecuted instantiation: socket-util.c:set_sid Unexecuted instantiation: tnl-ports.c:set_sid Unexecuted instantiation: tun-metadata.c:set_sid Unexecuted instantiation: netdev-linux.c:set_sid Unexecuted instantiation: netdev-offload-tc.c:set_sid Unexecuted instantiation: rtnetlink.c:set_sid Unexecuted instantiation: route-table.c:set_sid Unexecuted instantiation: tc.c:set_sid Unexecuted instantiation: classifier.c:set_sid Unexecuted instantiation: dp-packet-gso.c:set_sid Unexecuted instantiation: dpif.c:set_sid Unexecuted instantiation: meta-flow.c:set_sid Unexecuted instantiation: netdev-offload.c:set_sid Unexecuted instantiation: netdev-vport.c:set_sid Unexecuted instantiation: netlink.c:set_sid Unexecuted instantiation: nx-match.c:set_sid Unexecuted instantiation: odp-execute.c:set_sid Unexecuted instantiation: odp-execute-private.c:set_sid Unexecuted instantiation: odp-util.c:set_sid Unexecuted instantiation: ofp-actions.c:set_sid Unexecuted instantiation: ofp-ct.c:set_sid Unexecuted instantiation: ofp-ed-props.c:set_sid Unexecuted instantiation: ofp-flow.c:set_sid Unexecuted instantiation: ofp-group.c:set_sid Unexecuted instantiation: ofp-match.c:set_sid Unexecuted instantiation: ofp-meter.c:set_sid Unexecuted instantiation: ofp-monitor.c:set_sid Unexecuted instantiation: ofp-packet.c:set_sid Unexecuted instantiation: ofp-parse.c:set_sid Unexecuted instantiation: stream.c:set_sid Unexecuted instantiation: tnl-neigh-cache.c:set_sid Unexecuted instantiation: netdev-native-tnl.c:set_sid Unexecuted instantiation: stream-unix.c:set_sid Unexecuted instantiation: dpif-netlink.c:set_sid Unexecuted instantiation: dpif-netlink-rtnl.c:set_sid Unexecuted instantiation: netlink-conntrack.c:set_sid Unexecuted instantiation: stream-ssl.c:set_sid Unexecuted instantiation: bundle.c:set_sid Unexecuted instantiation: conntrack.c:set_sid Unexecuted instantiation: ct-dpif.c:set_sid Unexecuted instantiation: dpctl.c:set_sid Unexecuted instantiation: dpif-netdev.c:set_sid Unexecuted instantiation: dpif-netdev-private-dfc.c:set_sid Unexecuted instantiation: dpif-netdev-private-dpif.c:set_sid Unexecuted instantiation: dpif-netdev-private-extract.c:set_sid Unexecuted instantiation: ipf.c:set_sid Unexecuted instantiation: learn.c:set_sid Unexecuted instantiation: multipath.c:set_sid Unexecuted instantiation: stream-tcp.c:set_sid Unexecuted instantiation: conntrack-icmp.c:set_sid Unexecuted instantiation: conntrack-tcp.c:set_sid Unexecuted instantiation: conntrack-tp.c:set_sid Unexecuted instantiation: conntrack-other.c:set_sid Unexecuted instantiation: dpif-netdev-extract-study.c:set_sid Unexecuted instantiation: dpif-netdev-lookup.c:set_sid Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:set_sid Unexecuted instantiation: dpif-netdev-lookup-generic.c:set_sid |
1372 | | |
1373 | | static inline uint8_t get_hwid(const struct erspan_md2 *md2) |
1374 | 0 | { |
1375 | 0 | return (md2->hwid_upper << 4) + md2->hwid; |
1376 | 0 | } Unexecuted instantiation: miniflow_target.c:get_hwid Unexecuted instantiation: dp-packet.c:get_hwid Unexecuted instantiation: flow.c:get_hwid Unexecuted instantiation: match.c:get_hwid Unexecuted instantiation: netdev.c:get_hwid Unexecuted instantiation: ofp-port.c:get_hwid Unexecuted instantiation: ofp-print.c:get_hwid Unexecuted instantiation: ofp-queue.c:get_hwid Unexecuted instantiation: ofp-table.c:get_hwid Unexecuted instantiation: ofp-util.c:get_hwid Unexecuted instantiation: ovs-router.c:get_hwid Unexecuted instantiation: packets.c:get_hwid Unexecuted instantiation: smap.c:get_hwid Unexecuted instantiation: socket-util.c:get_hwid Unexecuted instantiation: tnl-ports.c:get_hwid Unexecuted instantiation: tun-metadata.c:get_hwid Unexecuted instantiation: netdev-linux.c:get_hwid Unexecuted instantiation: netdev-offload-tc.c:get_hwid Unexecuted instantiation: rtnetlink.c:get_hwid Unexecuted instantiation: route-table.c:get_hwid Unexecuted instantiation: tc.c:get_hwid Unexecuted instantiation: classifier.c:get_hwid Unexecuted instantiation: dp-packet-gso.c:get_hwid Unexecuted instantiation: dpif.c:get_hwid Unexecuted instantiation: meta-flow.c:get_hwid Unexecuted instantiation: netdev-offload.c:get_hwid Unexecuted instantiation: netdev-vport.c:get_hwid Unexecuted instantiation: netlink.c:get_hwid Unexecuted instantiation: nx-match.c:get_hwid Unexecuted instantiation: odp-execute.c:get_hwid Unexecuted instantiation: odp-execute-private.c:get_hwid Unexecuted instantiation: odp-util.c:get_hwid Unexecuted instantiation: ofp-actions.c:get_hwid Unexecuted instantiation: ofp-ct.c:get_hwid Unexecuted instantiation: ofp-ed-props.c:get_hwid Unexecuted instantiation: ofp-flow.c:get_hwid Unexecuted instantiation: ofp-group.c:get_hwid Unexecuted instantiation: ofp-match.c:get_hwid Unexecuted instantiation: ofp-meter.c:get_hwid Unexecuted instantiation: ofp-monitor.c:get_hwid Unexecuted instantiation: ofp-packet.c:get_hwid Unexecuted instantiation: ofp-parse.c:get_hwid Unexecuted instantiation: stream.c:get_hwid Unexecuted instantiation: tnl-neigh-cache.c:get_hwid Unexecuted instantiation: netdev-native-tnl.c:get_hwid Unexecuted instantiation: stream-unix.c:get_hwid Unexecuted instantiation: dpif-netlink.c:get_hwid Unexecuted instantiation: dpif-netlink-rtnl.c:get_hwid Unexecuted instantiation: netlink-conntrack.c:get_hwid Unexecuted instantiation: stream-ssl.c:get_hwid Unexecuted instantiation: bundle.c:get_hwid Unexecuted instantiation: conntrack.c:get_hwid Unexecuted instantiation: ct-dpif.c:get_hwid Unexecuted instantiation: dpctl.c:get_hwid Unexecuted instantiation: dpif-netdev.c:get_hwid Unexecuted instantiation: dpif-netdev-private-dfc.c:get_hwid Unexecuted instantiation: dpif-netdev-private-dpif.c:get_hwid Unexecuted instantiation: dpif-netdev-private-extract.c:get_hwid Unexecuted instantiation: ipf.c:get_hwid Unexecuted instantiation: learn.c:get_hwid Unexecuted instantiation: multipath.c:get_hwid Unexecuted instantiation: stream-tcp.c:get_hwid Unexecuted instantiation: conntrack-icmp.c:get_hwid Unexecuted instantiation: conntrack-tcp.c:get_hwid Unexecuted instantiation: conntrack-tp.c:get_hwid Unexecuted instantiation: conntrack-other.c:get_hwid Unexecuted instantiation: dpif-netdev-extract-study.c:get_hwid Unexecuted instantiation: dpif-netdev-lookup.c:get_hwid Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:get_hwid Unexecuted instantiation: dpif-netdev-lookup-generic.c:get_hwid |
1377 | | |
1378 | | static inline void set_hwid(struct erspan_md2 *md2, uint8_t hwid) |
1379 | 0 | { |
1380 | 0 | md2->hwid = hwid & 0xf; |
1381 | 0 | md2->hwid_upper = (hwid >> 4) & 0x3; |
1382 | 0 | } Unexecuted instantiation: miniflow_target.c:set_hwid Unexecuted instantiation: dp-packet.c:set_hwid Unexecuted instantiation: flow.c:set_hwid Unexecuted instantiation: match.c:set_hwid Unexecuted instantiation: netdev.c:set_hwid Unexecuted instantiation: ofp-port.c:set_hwid Unexecuted instantiation: ofp-print.c:set_hwid Unexecuted instantiation: ofp-queue.c:set_hwid Unexecuted instantiation: ofp-table.c:set_hwid Unexecuted instantiation: ofp-util.c:set_hwid Unexecuted instantiation: ovs-router.c:set_hwid Unexecuted instantiation: packets.c:set_hwid Unexecuted instantiation: smap.c:set_hwid Unexecuted instantiation: socket-util.c:set_hwid Unexecuted instantiation: tnl-ports.c:set_hwid Unexecuted instantiation: tun-metadata.c:set_hwid Unexecuted instantiation: netdev-linux.c:set_hwid Unexecuted instantiation: netdev-offload-tc.c:set_hwid Unexecuted instantiation: rtnetlink.c:set_hwid Unexecuted instantiation: route-table.c:set_hwid Unexecuted instantiation: tc.c:set_hwid Unexecuted instantiation: classifier.c:set_hwid Unexecuted instantiation: dp-packet-gso.c:set_hwid Unexecuted instantiation: dpif.c:set_hwid Unexecuted instantiation: meta-flow.c:set_hwid Unexecuted instantiation: netdev-offload.c:set_hwid Unexecuted instantiation: netdev-vport.c:set_hwid Unexecuted instantiation: netlink.c:set_hwid Unexecuted instantiation: nx-match.c:set_hwid Unexecuted instantiation: odp-execute.c:set_hwid Unexecuted instantiation: odp-execute-private.c:set_hwid Unexecuted instantiation: odp-util.c:set_hwid Unexecuted instantiation: ofp-actions.c:set_hwid Unexecuted instantiation: ofp-ct.c:set_hwid Unexecuted instantiation: ofp-ed-props.c:set_hwid Unexecuted instantiation: ofp-flow.c:set_hwid Unexecuted instantiation: ofp-group.c:set_hwid Unexecuted instantiation: ofp-match.c:set_hwid Unexecuted instantiation: ofp-meter.c:set_hwid Unexecuted instantiation: ofp-monitor.c:set_hwid Unexecuted instantiation: ofp-packet.c:set_hwid Unexecuted instantiation: ofp-parse.c:set_hwid Unexecuted instantiation: stream.c:set_hwid Unexecuted instantiation: tnl-neigh-cache.c:set_hwid Unexecuted instantiation: netdev-native-tnl.c:set_hwid Unexecuted instantiation: stream-unix.c:set_hwid Unexecuted instantiation: dpif-netlink.c:set_hwid Unexecuted instantiation: dpif-netlink-rtnl.c:set_hwid Unexecuted instantiation: netlink-conntrack.c:set_hwid Unexecuted instantiation: stream-ssl.c:set_hwid Unexecuted instantiation: bundle.c:set_hwid Unexecuted instantiation: conntrack.c:set_hwid Unexecuted instantiation: ct-dpif.c:set_hwid Unexecuted instantiation: dpctl.c:set_hwid Unexecuted instantiation: dpif-netdev.c:set_hwid Unexecuted instantiation: dpif-netdev-private-dfc.c:set_hwid Unexecuted instantiation: dpif-netdev-private-dpif.c:set_hwid Unexecuted instantiation: dpif-netdev-private-extract.c:set_hwid Unexecuted instantiation: ipf.c:set_hwid Unexecuted instantiation: learn.c:set_hwid Unexecuted instantiation: multipath.c:set_hwid Unexecuted instantiation: stream-tcp.c:set_hwid Unexecuted instantiation: conntrack-icmp.c:set_hwid Unexecuted instantiation: conntrack-tcp.c:set_hwid Unexecuted instantiation: conntrack-tp.c:set_hwid Unexecuted instantiation: conntrack-other.c:set_hwid Unexecuted instantiation: dpif-netdev-extract-study.c:set_hwid Unexecuted instantiation: dpif-netdev-lookup.c:set_hwid Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:set_hwid Unexecuted instantiation: dpif-netdev-lookup-generic.c:set_hwid |
1383 | | |
1384 | | /* ERSPAN timestamp granularity |
1385 | | * 00b --> granularity = 100 microseconds |
1386 | | * 01b --> granularity = 100 nanoseconds |
1387 | | * 10b --> granularity = IEEE 1588 |
1388 | | * Here we only support 100 microseconds. |
1389 | | */ |
1390 | | enum erspan_ts_gra { |
1391 | | ERSPAN_100US, |
1392 | | ERSPAN_100NS, |
1393 | | ERSPAN_IEEE1588, |
1394 | | }; |
1395 | | |
1396 | | static inline ovs_be32 get_erspan_ts(enum erspan_ts_gra gra) |
1397 | 0 | { |
1398 | 0 | ovs_be32 ts = 0; |
1399 | |
|
1400 | 0 | switch (gra) { |
1401 | 0 | case ERSPAN_100US: |
1402 | 0 | ts = htonl((uint32_t)(time_wall_usec() / 100)); |
1403 | 0 | break; |
1404 | 0 | case ERSPAN_100NS: |
1405 | | /* fall back */ |
1406 | 0 | case ERSPAN_IEEE1588: |
1407 | | /* fall back */ |
1408 | 0 | default: |
1409 | 0 | OVS_NOT_REACHED(); |
1410 | 0 | break; |
1411 | 0 | } |
1412 | 0 | return ts; |
1413 | 0 | } Unexecuted instantiation: miniflow_target.c:get_erspan_ts Unexecuted instantiation: dp-packet.c:get_erspan_ts Unexecuted instantiation: flow.c:get_erspan_ts Unexecuted instantiation: match.c:get_erspan_ts Unexecuted instantiation: netdev.c:get_erspan_ts Unexecuted instantiation: ofp-port.c:get_erspan_ts Unexecuted instantiation: ofp-print.c:get_erspan_ts Unexecuted instantiation: ofp-queue.c:get_erspan_ts Unexecuted instantiation: ofp-table.c:get_erspan_ts Unexecuted instantiation: ofp-util.c:get_erspan_ts Unexecuted instantiation: ovs-router.c:get_erspan_ts Unexecuted instantiation: packets.c:get_erspan_ts Unexecuted instantiation: smap.c:get_erspan_ts Unexecuted instantiation: socket-util.c:get_erspan_ts Unexecuted instantiation: tnl-ports.c:get_erspan_ts Unexecuted instantiation: tun-metadata.c:get_erspan_ts Unexecuted instantiation: netdev-linux.c:get_erspan_ts Unexecuted instantiation: netdev-offload-tc.c:get_erspan_ts Unexecuted instantiation: rtnetlink.c:get_erspan_ts Unexecuted instantiation: route-table.c:get_erspan_ts Unexecuted instantiation: tc.c:get_erspan_ts Unexecuted instantiation: classifier.c:get_erspan_ts Unexecuted instantiation: dp-packet-gso.c:get_erspan_ts Unexecuted instantiation: dpif.c:get_erspan_ts Unexecuted instantiation: meta-flow.c:get_erspan_ts Unexecuted instantiation: netdev-offload.c:get_erspan_ts Unexecuted instantiation: netdev-vport.c:get_erspan_ts Unexecuted instantiation: netlink.c:get_erspan_ts Unexecuted instantiation: nx-match.c:get_erspan_ts Unexecuted instantiation: odp-execute.c:get_erspan_ts Unexecuted instantiation: odp-execute-private.c:get_erspan_ts Unexecuted instantiation: odp-util.c:get_erspan_ts Unexecuted instantiation: ofp-actions.c:get_erspan_ts Unexecuted instantiation: ofp-ct.c:get_erspan_ts Unexecuted instantiation: ofp-ed-props.c:get_erspan_ts Unexecuted instantiation: ofp-flow.c:get_erspan_ts Unexecuted instantiation: ofp-group.c:get_erspan_ts Unexecuted instantiation: ofp-match.c:get_erspan_ts Unexecuted instantiation: ofp-meter.c:get_erspan_ts Unexecuted instantiation: ofp-monitor.c:get_erspan_ts Unexecuted instantiation: ofp-packet.c:get_erspan_ts Unexecuted instantiation: ofp-parse.c:get_erspan_ts Unexecuted instantiation: stream.c:get_erspan_ts Unexecuted instantiation: tnl-neigh-cache.c:get_erspan_ts Unexecuted instantiation: netdev-native-tnl.c:get_erspan_ts Unexecuted instantiation: stream-unix.c:get_erspan_ts Unexecuted instantiation: dpif-netlink.c:get_erspan_ts Unexecuted instantiation: dpif-netlink-rtnl.c:get_erspan_ts Unexecuted instantiation: netlink-conntrack.c:get_erspan_ts Unexecuted instantiation: stream-ssl.c:get_erspan_ts Unexecuted instantiation: bundle.c:get_erspan_ts Unexecuted instantiation: conntrack.c:get_erspan_ts Unexecuted instantiation: ct-dpif.c:get_erspan_ts Unexecuted instantiation: dpctl.c:get_erspan_ts Unexecuted instantiation: dpif-netdev.c:get_erspan_ts Unexecuted instantiation: dpif-netdev-private-dfc.c:get_erspan_ts Unexecuted instantiation: dpif-netdev-private-dpif.c:get_erspan_ts Unexecuted instantiation: dpif-netdev-private-extract.c:get_erspan_ts Unexecuted instantiation: ipf.c:get_erspan_ts Unexecuted instantiation: learn.c:get_erspan_ts Unexecuted instantiation: multipath.c:get_erspan_ts Unexecuted instantiation: stream-tcp.c:get_erspan_ts Unexecuted instantiation: conntrack-icmp.c:get_erspan_ts Unexecuted instantiation: conntrack-tcp.c:get_erspan_ts Unexecuted instantiation: conntrack-tp.c:get_erspan_ts Unexecuted instantiation: conntrack-other.c:get_erspan_ts Unexecuted instantiation: dpif-netdev-extract-study.c:get_erspan_ts Unexecuted instantiation: dpif-netdev-lookup.c:get_erspan_ts Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:get_erspan_ts Unexecuted instantiation: dpif-netdev-lookup-generic.c:get_erspan_ts |
1414 | | |
1415 | | /* |
1416 | | * GTP-U protocol header and metadata |
1417 | | * See: |
1418 | | * User Plane Protocol and Architectural Analysis on 3GPP 5G System |
1419 | | * draft-hmm-dmm-5g-uplane-analysis-00 |
1420 | | * |
1421 | | * 0 1 2 3 |
1422 | | * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
1423 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1424 | | * | Ver |P|R|E|S|N| Message Type| Length | |
1425 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1426 | | * | Tunnel Endpoint Identifier | |
1427 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1428 | | * | Sequence Number | N-PDU Number | Next-Ext-Hdr | |
1429 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1430 | | * |
1431 | | * GTP-U Flags: |
1432 | | * P: Protocol Type (Set to '1') |
1433 | | * R: Reserved Bit (Set to '0') |
1434 | | * E: Extension Header Flag (Set to '1' if extension header exists) |
1435 | | * S: Sequence Number Flag (Set to '1' if sequence number exists) |
1436 | | * N: N-PDU Number Flag (Set to '1' if N-PDU number exists) |
1437 | | * |
1438 | | * GTP-U Message Type: |
1439 | | * Indicates the type of GTP-U message. |
1440 | | * |
1441 | | * GTP-U Length: |
1442 | | * Indicates the length in octets of the payload. |
1443 | | * |
1444 | | * User payload is transmitted in G-PDU packets. |
1445 | | */ |
1446 | | |
1447 | | #define GTPU_VER_MASK 0xe0 |
1448 | | #define GTPU_P_MASK 0x10 |
1449 | | #define GTPU_E_MASK 0x04 |
1450 | 0 | #define GTPU_S_MASK 0x02 |
1451 | | |
1452 | | /* GTP-U UDP port. */ |
1453 | 0 | #define GTPU_DST_PORT 2152 |
1454 | | |
1455 | | /* Default GTP-U flags: Ver = 1 and P = 1. */ |
1456 | 0 | #define GTPU_FLAGS_DEFAULT 0x30 |
1457 | | |
1458 | | /* GTP-U message type for normal user plane PDU. */ |
1459 | | #define GTPU_MSGTYPE_REQ 1 /* Echo Request. */ |
1460 | | #define GTPU_MSGTYPE_REPL 2 /* Echo Reply. */ |
1461 | 0 | #define GTPU_MSGTYPE_GPDU 255 /* User Payload. */ |
1462 | | |
1463 | | struct gtpu_metadata { |
1464 | | uint8_t flags; |
1465 | | uint8_t msgtype; |
1466 | | }; |
1467 | | BUILD_ASSERT_DECL(sizeof(struct gtpu_metadata) == 2); |
1468 | | |
1469 | | struct gtpuhdr { |
1470 | | struct gtpu_metadata md; |
1471 | | ovs_be16 len; |
1472 | | ovs_16aligned_be32 teid; |
1473 | | }; |
1474 | | BUILD_ASSERT_DECL(sizeof(struct gtpuhdr) == 8); |
1475 | | |
1476 | | struct gtpuhdr_opt { |
1477 | | ovs_be16 seqno; |
1478 | | uint8_t pdu_number; |
1479 | | uint8_t next_ext_type; |
1480 | | }; |
1481 | | BUILD_ASSERT_DECL(sizeof(struct gtpuhdr_opt) == 4); |
1482 | | |
1483 | | /* VXLAN protocol header */ |
1484 | | struct vxlanhdr { |
1485 | | union { |
1486 | | ovs_16aligned_be32 vx_flags; /* VXLAN flags. */ |
1487 | | struct { |
1488 | | uint8_t flags; /* VXLAN GPE flags. */ |
1489 | | uint8_t reserved[2]; /* 16 bits reserved. */ |
1490 | | uint8_t next_protocol; /* Next Protocol field for VXLAN GPE. */ |
1491 | | } vx_gpe; |
1492 | | }; |
1493 | | ovs_16aligned_be32 vx_vni; |
1494 | | }; |
1495 | | BUILD_ASSERT_DECL(sizeof(struct vxlanhdr) == 8); |
1496 | | |
1497 | | #define VXLAN_FLAGS 0x08000000 /* struct vxlanhdr.vx_flags required value. */ |
1498 | | |
1499 | | /* |
1500 | | * VXLAN Generic Protocol Extension (VXLAN_F_GPE): |
1501 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1502 | | * |R|R|Ver|I|P|R|O| Reserved |Next Protocol | |
1503 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1504 | | * | VXLAN Network Identifier (VNI) | Reserved | |
1505 | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
1506 | | * |
1507 | | * Ver = Version. Indicates VXLAN GPE protocol version. |
1508 | | * |
1509 | | * P = Next Protocol Bit. The P bit is set to indicate that the |
1510 | | * Next Protocol field is present. |
1511 | | * |
1512 | | * O = OAM Flag Bit. The O bit is set to indicate that the packet |
1513 | | * is an OAM packet. |
1514 | | * |
1515 | | * Next Protocol = This 8 bit field indicates the protocol header |
1516 | | * immediately following the VXLAN GPE header. |
1517 | | * |
1518 | | * https://tools.ietf.org/html/draft-ietf-nvo3-vxlan-gpe-01 |
1519 | | */ |
1520 | | |
1521 | | /* Fields in struct vxlanhdr.vx_gpe.flags */ |
1522 | | #define VXLAN_GPE_FLAGS_VER 0x30 /* Version. */ |
1523 | | #define VXLAN_GPE_FLAGS_P 0x04 /* Next Protocol Bit. */ |
1524 | 0 | #define VXLAN_GPE_FLAGS_O 0x01 /* OAM Bit. */ |
1525 | | |
1526 | | /* VXLAN-GPE header flags. */ |
1527 | | #define VXLAN_HF_VER ((1U <<29) | (1U <<28)) |
1528 | | #define VXLAN_HF_NP (1U <<26) |
1529 | | #define VXLAN_HF_OAM (1U <<24) |
1530 | | |
1531 | | #define VXLAN_GPE_USED_BITS (VXLAN_HF_VER | VXLAN_HF_NP | VXLAN_HF_OAM | \ |
1532 | | 0xff) |
1533 | | |
1534 | | /* VXLAN-GPE header Next Protocol. */ |
1535 | 0 | #define VXLAN_GPE_NP_IPV4 0x01 |
1536 | 0 | #define VXLAN_GPE_NP_IPV6 0x02 |
1537 | 0 | #define VXLAN_GPE_NP_ETHERNET 0x03 |
1538 | 0 | #define VXLAN_GPE_NP_NSH 0x04 |
1539 | | |
1540 | | #define VXLAN_F_GPE 0x4000 |
1541 | | #define VXLAN_HF_GPE 0x04000000 |
1542 | | |
1543 | | /* SRv6 protocol header. */ |
1544 | 0 | #define IPV6_SRCRT_TYPE_4 4 |
1545 | | #define SRV6_BASE_HDR_LEN 8 |
1546 | | struct srv6_base_hdr { |
1547 | | struct ip6_rt_hdr rt_hdr; |
1548 | | uint8_t last_entry; |
1549 | | uint8_t flags; |
1550 | | ovs_be16 tag; |
1551 | | }; |
1552 | | BUILD_ASSERT_DECL(sizeof(struct srv6_base_hdr) == SRV6_BASE_HDR_LEN); |
1553 | | |
1554 | | /* Input values for PACKET_TYPE macros have to be in host byte order. |
1555 | | * The _BE postfix indicates result is in network byte order. Otherwise result |
1556 | | * is in host byte order. */ |
1557 | | #define PACKET_TYPE(NS, NS_TYPE) ((uint32_t) ((NS) << 16 | (NS_TYPE))) |
1558 | 0 | #define PACKET_TYPE_BE(NS, NS_TYPE) (htonl((NS) << 16 | (NS_TYPE))) |
1559 | | |
1560 | | /* Returns the host byte ordered namespace of 'packet type'. */ |
1561 | | static inline uint16_t |
1562 | | pt_ns(ovs_be32 packet_type) |
1563 | 0 | { |
1564 | 0 | return ntohl(packet_type) >> 16; |
1565 | 0 | } Unexecuted instantiation: miniflow_target.c:pt_ns Unexecuted instantiation: dp-packet.c:pt_ns Unexecuted instantiation: flow.c:pt_ns Unexecuted instantiation: match.c:pt_ns Unexecuted instantiation: netdev.c:pt_ns Unexecuted instantiation: ofp-port.c:pt_ns Unexecuted instantiation: ofp-print.c:pt_ns Unexecuted instantiation: ofp-queue.c:pt_ns Unexecuted instantiation: ofp-table.c:pt_ns Unexecuted instantiation: ofp-util.c:pt_ns Unexecuted instantiation: ovs-router.c:pt_ns Unexecuted instantiation: packets.c:pt_ns Unexecuted instantiation: smap.c:pt_ns Unexecuted instantiation: socket-util.c:pt_ns Unexecuted instantiation: tnl-ports.c:pt_ns Unexecuted instantiation: tun-metadata.c:pt_ns Unexecuted instantiation: netdev-linux.c:pt_ns Unexecuted instantiation: netdev-offload-tc.c:pt_ns Unexecuted instantiation: rtnetlink.c:pt_ns Unexecuted instantiation: route-table.c:pt_ns Unexecuted instantiation: tc.c:pt_ns Unexecuted instantiation: classifier.c:pt_ns Unexecuted instantiation: dp-packet-gso.c:pt_ns Unexecuted instantiation: dpif.c:pt_ns Unexecuted instantiation: meta-flow.c:pt_ns Unexecuted instantiation: netdev-offload.c:pt_ns Unexecuted instantiation: netdev-vport.c:pt_ns Unexecuted instantiation: netlink.c:pt_ns Unexecuted instantiation: nx-match.c:pt_ns Unexecuted instantiation: odp-execute.c:pt_ns Unexecuted instantiation: odp-execute-private.c:pt_ns Unexecuted instantiation: odp-util.c:pt_ns Unexecuted instantiation: ofp-actions.c:pt_ns Unexecuted instantiation: ofp-ct.c:pt_ns Unexecuted instantiation: ofp-ed-props.c:pt_ns Unexecuted instantiation: ofp-flow.c:pt_ns Unexecuted instantiation: ofp-group.c:pt_ns Unexecuted instantiation: ofp-match.c:pt_ns Unexecuted instantiation: ofp-meter.c:pt_ns Unexecuted instantiation: ofp-monitor.c:pt_ns Unexecuted instantiation: ofp-packet.c:pt_ns Unexecuted instantiation: ofp-parse.c:pt_ns Unexecuted instantiation: stream.c:pt_ns Unexecuted instantiation: tnl-neigh-cache.c:pt_ns Unexecuted instantiation: netdev-native-tnl.c:pt_ns Unexecuted instantiation: stream-unix.c:pt_ns Unexecuted instantiation: dpif-netlink.c:pt_ns Unexecuted instantiation: dpif-netlink-rtnl.c:pt_ns Unexecuted instantiation: netlink-conntrack.c:pt_ns Unexecuted instantiation: stream-ssl.c:pt_ns Unexecuted instantiation: bundle.c:pt_ns Unexecuted instantiation: conntrack.c:pt_ns Unexecuted instantiation: ct-dpif.c:pt_ns Unexecuted instantiation: dpctl.c:pt_ns Unexecuted instantiation: dpif-netdev.c:pt_ns Unexecuted instantiation: dpif-netdev-private-dfc.c:pt_ns Unexecuted instantiation: dpif-netdev-private-dpif.c:pt_ns Unexecuted instantiation: dpif-netdev-private-extract.c:pt_ns Unexecuted instantiation: ipf.c:pt_ns Unexecuted instantiation: learn.c:pt_ns Unexecuted instantiation: multipath.c:pt_ns Unexecuted instantiation: stream-tcp.c:pt_ns Unexecuted instantiation: conntrack-icmp.c:pt_ns Unexecuted instantiation: conntrack-tcp.c:pt_ns Unexecuted instantiation: conntrack-tp.c:pt_ns Unexecuted instantiation: conntrack-other.c:pt_ns Unexecuted instantiation: dpif-netdev-extract-study.c:pt_ns Unexecuted instantiation: dpif-netdev-lookup.c:pt_ns Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:pt_ns Unexecuted instantiation: dpif-netdev-lookup-generic.c:pt_ns |
1566 | | |
1567 | | /* Returns the network byte ordered namespace type of 'packet type'. */ |
1568 | | static inline ovs_be16 |
1569 | | pt_ns_type_be(ovs_be32 packet_type) |
1570 | 0 | { |
1571 | 0 | return be32_to_be16(packet_type); |
1572 | 0 | } Unexecuted instantiation: miniflow_target.c:pt_ns_type_be Unexecuted instantiation: dp-packet.c:pt_ns_type_be Unexecuted instantiation: flow.c:pt_ns_type_be Unexecuted instantiation: match.c:pt_ns_type_be Unexecuted instantiation: netdev.c:pt_ns_type_be Unexecuted instantiation: ofp-port.c:pt_ns_type_be Unexecuted instantiation: ofp-print.c:pt_ns_type_be Unexecuted instantiation: ofp-queue.c:pt_ns_type_be Unexecuted instantiation: ofp-table.c:pt_ns_type_be Unexecuted instantiation: ofp-util.c:pt_ns_type_be Unexecuted instantiation: ovs-router.c:pt_ns_type_be Unexecuted instantiation: packets.c:pt_ns_type_be Unexecuted instantiation: smap.c:pt_ns_type_be Unexecuted instantiation: socket-util.c:pt_ns_type_be Unexecuted instantiation: tnl-ports.c:pt_ns_type_be Unexecuted instantiation: tun-metadata.c:pt_ns_type_be Unexecuted instantiation: netdev-linux.c:pt_ns_type_be Unexecuted instantiation: netdev-offload-tc.c:pt_ns_type_be Unexecuted instantiation: rtnetlink.c:pt_ns_type_be Unexecuted instantiation: route-table.c:pt_ns_type_be Unexecuted instantiation: tc.c:pt_ns_type_be Unexecuted instantiation: classifier.c:pt_ns_type_be Unexecuted instantiation: dp-packet-gso.c:pt_ns_type_be Unexecuted instantiation: dpif.c:pt_ns_type_be Unexecuted instantiation: meta-flow.c:pt_ns_type_be Unexecuted instantiation: netdev-offload.c:pt_ns_type_be Unexecuted instantiation: netdev-vport.c:pt_ns_type_be Unexecuted instantiation: netlink.c:pt_ns_type_be Unexecuted instantiation: nx-match.c:pt_ns_type_be Unexecuted instantiation: odp-execute.c:pt_ns_type_be Unexecuted instantiation: odp-execute-private.c:pt_ns_type_be Unexecuted instantiation: odp-util.c:pt_ns_type_be Unexecuted instantiation: ofp-actions.c:pt_ns_type_be Unexecuted instantiation: ofp-ct.c:pt_ns_type_be Unexecuted instantiation: ofp-ed-props.c:pt_ns_type_be Unexecuted instantiation: ofp-flow.c:pt_ns_type_be Unexecuted instantiation: ofp-group.c:pt_ns_type_be Unexecuted instantiation: ofp-match.c:pt_ns_type_be Unexecuted instantiation: ofp-meter.c:pt_ns_type_be Unexecuted instantiation: ofp-monitor.c:pt_ns_type_be Unexecuted instantiation: ofp-packet.c:pt_ns_type_be Unexecuted instantiation: ofp-parse.c:pt_ns_type_be Unexecuted instantiation: stream.c:pt_ns_type_be Unexecuted instantiation: tnl-neigh-cache.c:pt_ns_type_be Unexecuted instantiation: netdev-native-tnl.c:pt_ns_type_be Unexecuted instantiation: stream-unix.c:pt_ns_type_be Unexecuted instantiation: dpif-netlink.c:pt_ns_type_be Unexecuted instantiation: dpif-netlink-rtnl.c:pt_ns_type_be Unexecuted instantiation: netlink-conntrack.c:pt_ns_type_be Unexecuted instantiation: stream-ssl.c:pt_ns_type_be Unexecuted instantiation: bundle.c:pt_ns_type_be Unexecuted instantiation: conntrack.c:pt_ns_type_be Unexecuted instantiation: ct-dpif.c:pt_ns_type_be Unexecuted instantiation: dpctl.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev-private-dfc.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev-private-dpif.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev-private-extract.c:pt_ns_type_be Unexecuted instantiation: ipf.c:pt_ns_type_be Unexecuted instantiation: learn.c:pt_ns_type_be Unexecuted instantiation: multipath.c:pt_ns_type_be Unexecuted instantiation: stream-tcp.c:pt_ns_type_be Unexecuted instantiation: conntrack-icmp.c:pt_ns_type_be Unexecuted instantiation: conntrack-tcp.c:pt_ns_type_be Unexecuted instantiation: conntrack-tp.c:pt_ns_type_be Unexecuted instantiation: conntrack-other.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev-extract-study.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev-lookup.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:pt_ns_type_be Unexecuted instantiation: dpif-netdev-lookup-generic.c:pt_ns_type_be |
1573 | | |
1574 | | /* Returns the host byte ordered namespace type of 'packet type'. */ |
1575 | | static inline uint16_t |
1576 | | pt_ns_type(ovs_be32 packet_type) |
1577 | 0 | { |
1578 | 0 | return ntohs(pt_ns_type_be(packet_type)); |
1579 | 0 | } Unexecuted instantiation: miniflow_target.c:pt_ns_type Unexecuted instantiation: dp-packet.c:pt_ns_type Unexecuted instantiation: flow.c:pt_ns_type Unexecuted instantiation: match.c:pt_ns_type Unexecuted instantiation: netdev.c:pt_ns_type Unexecuted instantiation: ofp-port.c:pt_ns_type Unexecuted instantiation: ofp-print.c:pt_ns_type Unexecuted instantiation: ofp-queue.c:pt_ns_type Unexecuted instantiation: ofp-table.c:pt_ns_type Unexecuted instantiation: ofp-util.c:pt_ns_type Unexecuted instantiation: ovs-router.c:pt_ns_type Unexecuted instantiation: packets.c:pt_ns_type Unexecuted instantiation: smap.c:pt_ns_type Unexecuted instantiation: socket-util.c:pt_ns_type Unexecuted instantiation: tnl-ports.c:pt_ns_type Unexecuted instantiation: tun-metadata.c:pt_ns_type Unexecuted instantiation: netdev-linux.c:pt_ns_type Unexecuted instantiation: netdev-offload-tc.c:pt_ns_type Unexecuted instantiation: rtnetlink.c:pt_ns_type Unexecuted instantiation: route-table.c:pt_ns_type Unexecuted instantiation: tc.c:pt_ns_type Unexecuted instantiation: classifier.c:pt_ns_type Unexecuted instantiation: dp-packet-gso.c:pt_ns_type Unexecuted instantiation: dpif.c:pt_ns_type Unexecuted instantiation: meta-flow.c:pt_ns_type Unexecuted instantiation: netdev-offload.c:pt_ns_type Unexecuted instantiation: netdev-vport.c:pt_ns_type Unexecuted instantiation: netlink.c:pt_ns_type Unexecuted instantiation: nx-match.c:pt_ns_type Unexecuted instantiation: odp-execute.c:pt_ns_type Unexecuted instantiation: odp-execute-private.c:pt_ns_type Unexecuted instantiation: odp-util.c:pt_ns_type Unexecuted instantiation: ofp-actions.c:pt_ns_type Unexecuted instantiation: ofp-ct.c:pt_ns_type Unexecuted instantiation: ofp-ed-props.c:pt_ns_type Unexecuted instantiation: ofp-flow.c:pt_ns_type Unexecuted instantiation: ofp-group.c:pt_ns_type Unexecuted instantiation: ofp-match.c:pt_ns_type Unexecuted instantiation: ofp-meter.c:pt_ns_type Unexecuted instantiation: ofp-monitor.c:pt_ns_type Unexecuted instantiation: ofp-packet.c:pt_ns_type Unexecuted instantiation: ofp-parse.c:pt_ns_type Unexecuted instantiation: stream.c:pt_ns_type Unexecuted instantiation: tnl-neigh-cache.c:pt_ns_type Unexecuted instantiation: netdev-native-tnl.c:pt_ns_type Unexecuted instantiation: stream-unix.c:pt_ns_type Unexecuted instantiation: dpif-netlink.c:pt_ns_type Unexecuted instantiation: dpif-netlink-rtnl.c:pt_ns_type Unexecuted instantiation: netlink-conntrack.c:pt_ns_type Unexecuted instantiation: stream-ssl.c:pt_ns_type Unexecuted instantiation: bundle.c:pt_ns_type Unexecuted instantiation: conntrack.c:pt_ns_type Unexecuted instantiation: ct-dpif.c:pt_ns_type Unexecuted instantiation: dpctl.c:pt_ns_type Unexecuted instantiation: dpif-netdev.c:pt_ns_type Unexecuted instantiation: dpif-netdev-private-dfc.c:pt_ns_type Unexecuted instantiation: dpif-netdev-private-dpif.c:pt_ns_type Unexecuted instantiation: dpif-netdev-private-extract.c:pt_ns_type Unexecuted instantiation: ipf.c:pt_ns_type Unexecuted instantiation: learn.c:pt_ns_type Unexecuted instantiation: multipath.c:pt_ns_type Unexecuted instantiation: stream-tcp.c:pt_ns_type Unexecuted instantiation: conntrack-icmp.c:pt_ns_type Unexecuted instantiation: conntrack-tcp.c:pt_ns_type Unexecuted instantiation: conntrack-tp.c:pt_ns_type Unexecuted instantiation: conntrack-other.c:pt_ns_type Unexecuted instantiation: dpif-netdev-extract-study.c:pt_ns_type Unexecuted instantiation: dpif-netdev-lookup.c:pt_ns_type Unexecuted instantiation: dpif-netdev-lookup-autovalidator.c:pt_ns_type Unexecuted instantiation: dpif-netdev-lookup-generic.c:pt_ns_type |
1580 | | |
1581 | | /* Well-known packet_type field values. */ |
1582 | | enum packet_type { |
1583 | | PT_ETH = PACKET_TYPE(OFPHTN_ONF, 0x0000), /* Default PT: Ethernet */ |
1584 | | PT_USE_NEXT_PROTO = PACKET_TYPE(OFPHTN_ONF, 0xfffe), /* Pseudo PT for decap. */ |
1585 | | PT_IPV4 = PACKET_TYPE(OFPHTN_ETHERTYPE, ETH_TYPE_IP), |
1586 | | PT_IPV6 = PACKET_TYPE(OFPHTN_ETHERTYPE, ETH_TYPE_IPV6), |
1587 | | PT_MPLS = PACKET_TYPE(OFPHTN_ETHERTYPE, ETH_TYPE_MPLS), |
1588 | | PT_MPLS_MC = PACKET_TYPE(OFPHTN_ETHERTYPE, ETH_TYPE_MPLS_MCAST), |
1589 | | PT_NSH = PACKET_TYPE(OFPHTN_ETHERTYPE, ETH_TYPE_NSH), |
1590 | | PT_UNKNOWN = PACKET_TYPE(0xffff, 0xffff), /* Unknown packet type. */ |
1591 | | }; |
1592 | | |
1593 | | |
1594 | | void ipv6_format_addr(const struct in6_addr *addr, struct ds *); |
1595 | | void ipv6_format_addr_bracket(const struct in6_addr *addr, struct ds *, |
1596 | | bool bracket); |
1597 | | void ipv6_format_mapped(const struct in6_addr *addr, struct ds *); |
1598 | | void ipv6_format_masked(const struct in6_addr *addr, |
1599 | | const struct in6_addr *mask, struct ds *); |
1600 | | const char * ipv6_string_mapped(char *addr_str, const struct in6_addr *addr); |
1601 | | struct in6_addr ipv6_addr_bitand(const struct in6_addr *src, |
1602 | | const struct in6_addr *mask); |
1603 | | struct in6_addr ipv6_addr_bitxor(const struct in6_addr *a, |
1604 | | const struct in6_addr *b); |
1605 | | bool ipv6_is_zero(const struct in6_addr *a); |
1606 | | struct in6_addr ipv6_create_mask(int mask); |
1607 | | int ipv6_count_cidr_bits(const struct in6_addr *netmask); |
1608 | | bool ipv6_is_cidr(const struct in6_addr *netmask); |
1609 | | |
1610 | | bool ipv6_parse(const char *s, struct in6_addr *ip); |
1611 | | char *ipv6_parse_masked(const char *s, struct in6_addr *ipv6, |
1612 | | struct in6_addr *mask); |
1613 | | char *ipv6_parse_cidr(const char *s, struct in6_addr *ip, unsigned int *plen) |
1614 | | OVS_WARN_UNUSED_RESULT; |
1615 | | char *ipv6_parse_masked_len(const char *s, int *n, struct in6_addr *ipv6, |
1616 | | struct in6_addr *mask); |
1617 | | char *ipv6_parse_cidr_len(const char *s, int *n, struct in6_addr *ip, |
1618 | | unsigned int *plen) |
1619 | | OVS_WARN_UNUSED_RESULT; |
1620 | | |
1621 | | void *eth_compose(struct dp_packet *, const struct eth_addr eth_dst, |
1622 | | const struct eth_addr eth_src, uint16_t eth_type, |
1623 | | size_t size); |
1624 | | void *snap_compose(struct dp_packet *, const struct eth_addr eth_dst, |
1625 | | const struct eth_addr eth_src, |
1626 | | unsigned int oui, uint16_t snap_type, size_t size); |
1627 | | void packet_set_ipv4(struct dp_packet *, ovs_be32 src, ovs_be32 dst, uint8_t tos, |
1628 | | uint8_t ttl); |
1629 | | void packet_set_ipv4_addr(struct dp_packet *packet, ovs_16aligned_be32 *addr, |
1630 | | ovs_be32 new_addr); |
1631 | | void packet_set_ipv6(struct dp_packet *, const struct in6_addr *src, |
1632 | | const struct in6_addr *dst, uint8_t tc, |
1633 | | ovs_be32 fl, uint8_t hlmit); |
1634 | | void packet_set_ipv6_addr(struct dp_packet *packet, uint8_t proto, |
1635 | | ovs_16aligned_be32 addr[4], |
1636 | | const struct in6_addr *new_addr, |
1637 | | bool recalculate_csum); |
1638 | | void packet_set_ipv6_flow_label(ovs_16aligned_be32 *flow_label, |
1639 | | ovs_be32 flow_key); |
1640 | | void packet_set_ipv6_tc(ovs_16aligned_be32 *flow_label, uint8_t tc); |
1641 | | void packet_set_tcp_port(struct dp_packet *, ovs_be16 src, ovs_be16 dst); |
1642 | | void packet_set_udp_port(struct dp_packet *, ovs_be16 src, ovs_be16 dst); |
1643 | | void packet_set_sctp_port(struct dp_packet *, ovs_be16 src, ovs_be16 dst); |
1644 | | void packet_set_icmp(struct dp_packet *, uint8_t type, uint8_t code); |
1645 | | void packet_set_nd(struct dp_packet *, const struct in6_addr *target, |
1646 | | const struct eth_addr sll, const struct eth_addr tll); |
1647 | | void packet_set_nd_ext(struct dp_packet *packet, |
1648 | | const ovs_16aligned_be32 rso_flags, |
1649 | | const uint8_t opt_type); |
1650 | | void packet_set_igmp3_query(struct dp_packet *, uint8_t max_resp, |
1651 | | ovs_be32 group, bool srs, uint8_t qrv, |
1652 | | uint8_t qqic); |
1653 | | void packet_format_tcp_flags(struct ds *, uint16_t); |
1654 | | const char *packet_tcp_flag_to_string(uint32_t flag); |
1655 | | void *compose_ipv6(struct dp_packet *packet, uint8_t proto, |
1656 | | const struct in6_addr *src, const struct in6_addr *dst, |
1657 | | uint8_t key_tc, ovs_be32 key_fl, uint8_t key_hl, int size); |
1658 | | void compose_arp__(struct dp_packet *); |
1659 | | void compose_arp(struct dp_packet *, uint16_t arp_op, |
1660 | | const struct eth_addr arp_sha, |
1661 | | const struct eth_addr arp_tha, bool broadcast, |
1662 | | ovs_be32 arp_spa, ovs_be32 arp_tpa); |
1663 | | void compose_nd_ns(struct dp_packet *, const struct eth_addr eth_src, |
1664 | | const struct in6_addr *ipv6_src, |
1665 | | const struct in6_addr *ipv6_dst); |
1666 | | void compose_nd_na(struct dp_packet *, const struct eth_addr eth_src, |
1667 | | const struct eth_addr eth_dst, |
1668 | | const struct in6_addr *ipv6_src, |
1669 | | const struct in6_addr *ipv6_dst, |
1670 | | ovs_be32 rso_flags); |
1671 | | void compose_nd_ra(struct dp_packet *, |
1672 | | const struct eth_addr eth_src, |
1673 | | const struct eth_addr eth_dst, |
1674 | | const struct in6_addr *ipv6_src, |
1675 | | const struct in6_addr *ipv6_dst, |
1676 | | uint8_t cur_hop_limit, uint8_t mo_flags, |
1677 | | ovs_be16 router_lt, ovs_be32 reachable_time, |
1678 | | ovs_be32 retrans_timer, uint32_t mtu); |
1679 | | void packet_put_ra_prefix_opt(struct dp_packet *, |
1680 | | uint8_t plen, uint8_t la_flags, |
1681 | | ovs_be32 valid_lifetime, |
1682 | | ovs_be32 preferred_lifetime, |
1683 | | const ovs_be128 router_prefix); |
1684 | | uint32_t packet_csum_pseudoheader(const struct ip_header *); |
1685 | | bool packet_rh_present(struct dp_packet *packet, uint8_t *nexthdr, |
1686 | | bool *first_frag); |
1687 | | void IP_ECN_set_ce(struct dp_packet *pkt, bool is_ipv6); |
1688 | | void packet_tcp_complete_csum(struct dp_packet *, bool is_inner); |
1689 | | void packet_udp_complete_csum(struct dp_packet *, bool is_inner); |
1690 | | void packet_sctp_complete_csum(struct dp_packet *, bool is_inner); |
1691 | | |
1692 | | #define DNS_HEADER_LEN 12 |
1693 | | struct dns_header { |
1694 | | ovs_be16 id; |
1695 | | uint8_t lo_flag; /* QR (1), OPCODE (4), AA (1), TC (1) and RD (1) */ |
1696 | | uint8_t hi_flag; /* RA (1), Z (3) and RCODE (4) */ |
1697 | | ovs_be16 qdcount; /* Num of entries in the question section. */ |
1698 | | ovs_be16 ancount; /* Num of resource records in the answer section. */ |
1699 | | |
1700 | | /* Num of name server records in the authority record section. */ |
1701 | | ovs_be16 nscount; |
1702 | | |
1703 | | /* Num of resource records in the additional records section. */ |
1704 | | ovs_be16 arcount; |
1705 | | }; |
1706 | | |
1707 | | BUILD_ASSERT_DECL(DNS_HEADER_LEN == sizeof(struct dns_header)); |
1708 | | |
1709 | | #define DNS_QUERY_TYPE_A 0x01 |
1710 | | #define DNS_QUERY_TYPE_AAAA 0x1c |
1711 | | #define DNS_QUERY_TYPE_ANY 0xff |
1712 | | |
1713 | | #define DNS_CLASS_IN 0x01 |
1714 | | #define DNS_DEFAULT_RR_TTL 3600 |
1715 | | |
1716 | | #endif /* packets.h */ |