[ovs-discuss] the meaning of FLOW_WC_SEQ

linaishan leeskating at gmail.com
Fri Jan 24 13:14:52 UTC 2014


Hi all,
I want to extend the struct flow in lib/flow.h.
at line 130 there is a description:
/* Remember to update FLOW_WC_SEQ when changing 'struct flow'. */
BUILD_ASSERT_DECL(sizeof(struct flow) == sizeof(struct flow_tnl) + 160 &&
                  FLOW_WC_SEQ == 20);

what's the meaning of FLOW_WC_SEQ?

if I extend struct flow like:
struct flow {
    struct flow_tnl tunnel;     /* Encapsulating tunnel parameters. */
    ovs_be64 metadata;          /* OpenFlow Metadata. */
    struct in6_addr ipv6_src;   /* IPv6 source address. */
    struct in6_addr ipv6_dst;   /* IPv6 destination address. */
    struct in6_addr nd_target;  /* IPv6 neighbor discovery (ND) target. */
    uint32_t skb_priority;      /* Packet priority for QoS. */
    uint32_t regs[FLOW_N_REGS]; /* Registers. */
    ovs_be32 nw_src;            /* IPv4 source address. */
    ovs_be32 nw_dst;            /* IPv4 destination address. */
    ovs_be32 ipv6_label;        /* IPv6 flow label. */
    union flow_in_port in_port; /* Input port.*/
    uint32_t pkt_mark;          /* Packet mark. */
    ovs_be32 mpls_lse;          /* MPLS label stack entry. */
    uint16_t mpls_depth;        /* Depth of MPLS stack. */
    ovs_be16 vlan_tci;          /* If 802.1Q, TCI | VLAN_CFI; otherwise 0. */
    ovs_be16 dl_type;           /* Ethernet frame type. */
    ovs_be16 tp_src;            /* TCP/UDP/SCTP source port. */
    ovs_be16 tp_dst;            /* TCP/UDP/SCTP destination port. */
/*start; --extend 20140123*/
    u_int8_t doff:4;
    u_int8_t ack:1;
    u_int8_t rst:1;
    u_int8_t syn:1;
    u_int8_t fin:1;
/*end*/
    uint8_t dl_src[6];          /* Ethernet source address. */
    uint8_t dl_dst[6];          /* Ethernet destination address. */
    uint8_t nw_proto;           /* IP protocol or low 8 bits of ARP opcode. */
    uint8_t nw_tos;             /* IP ToS (including DSCP and ECN). */
    uint8_t arp_sha[6];         /* ARP/ND source hardware address. */
    uint8_t arp_tha[6];         /* ARP/ND target hardware address. */
    uint8_t nw_ttl;             /* IP TTL/Hop Limit. */
    uint8_t nw_frag;            /* FLOW_FRAG_* flags. */
    uint8_t zeros[6];
    struct http http; 
};
struct http {
uint8_t host[64];//support max domain length is 63
};
then what shoud FLOW_WC_SEQ be?
thanks.



linaishan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20140124/b2747116/attachment.html>


More information about the discuss mailing list