X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fopenvswitch%2Fdatapath-protocol.h;h=5759f1e5594555cf58095c05c9885ec7c6c24fb2;hb=3dffcf0701f7e7753710348d34eb5be007525877;hp=f443000fb5b40e0c7fa9a7e66a636215d1498eab;hpb=c73814a3e6cbdf8c4083ef1d510377e41cb82f6a;p=openvswitch diff --git a/include/openvswitch/datapath-protocol.h b/include/openvswitch/datapath-protocol.h index f443000f..5759f1e5 100644 --- a/include/openvswitch/datapath-protocol.h +++ b/include/openvswitch/datapath-protocol.h @@ -101,6 +101,7 @@ #define ODP_VPORT_ETHER_SET _IOW('O', 26, struct odp_vport_ether) #define ODP_VPORT_MTU_GET _IOWR('O', 27, struct odp_vport_mtu) #define ODP_VPORT_MTU_SET _IOW('O', 28, struct odp_vport_mtu) +#define ODP_VPORT_STATS_SET _IOWR('O', 29, struct odp_vport_stats_req) struct odp_stats { /* Flows. */ @@ -209,7 +210,7 @@ struct odp_flow_stats { uint64_t used_sec; /* Time last used, in system monotonic time. */ uint32_t used_nsec; uint8_t tcp_flags; - uint8_t ip_tos; + uint8_t reserved; uint16_t error; /* Used by ODP_FLOW_GET. */ }; @@ -225,7 +226,7 @@ struct odp_flow_key { uint8_t dl_src[6]; /* Ethernet source address. */ uint8_t dl_dst[6]; /* Ethernet destination address. */ uint8_t nw_proto; /* IP protocol or lower 8 bits of - ARP opcode. */ + ARP opcode. */ uint8_t dl_vlan_pcp; /* Input VLAN priority. */ uint8_t nw_tos; /* IP ToS (DSCP field, 6 bits). */ uint8_t reserved[3]; /* Align to 32-bits...must be zeroed. */ @@ -278,7 +279,10 @@ struct odp_flowvec { #define ODPAT_SET_TP_SRC 11 /* TCP/UDP source port. */ #define ODPAT_SET_TP_DST 12 /* TCP/UDP destination port. */ #define ODPAT_SET_TUNNEL 13 /* Set the encapsulating tunnel ID. */ -#define ODPAT_N_ACTIONS 14 +#define ODPAT_SET_PRIORITY 14 /* Set skb->priority. */ +#define ODPAT_POP_PRIORITY 15 /* Restore original skb->priority. */ +#define ODPAT_DROP_SPOOFED_ARP 16 /* Drop ARPs with spoofed source MAC. */ +#define ODPAT_N_ACTIONS 17 struct odp_action_output { uint16_t type; /* ODPAT_OUTPUT. */ @@ -352,6 +356,13 @@ struct odp_action_tp_port { uint16_t reserved2; }; +/* Action structure for ODPAT_SET_PRIORITY. */ +struct odp_action_priority { + uint16_t type; /* ODPAT_SET_PRIORITY. */ + uint16_t reserved; + uint32_t priority; /* skb->priority value. */ +}; + union odp_action { uint16_t type; struct odp_action_output output; @@ -364,6 +375,7 @@ union odp_action { struct odp_action_nw_addr nw_addr; struct odp_action_nw_tos nw_tos; struct odp_action_tp_port tp_port; + struct odp_action_priority priority; }; struct odp_execute {