On Mon, Mar 14, 2016 at 06:47:34PM +0530, Ajmer Singh wrote:
> Hi,
> I have a requirement of adding GTP headers in open Vswitch source code. We
> need to define 2 new actions: STRIP_GTP and ENCAP_GTP. these are the
> extensions.
> 
> As per openflow specifications 1.0 and 1.1. If we add our 2 new actions
> then following structure will look like as follows.
> 
> enum ofp_action_type {
>     OFPAT_OUTPUT = 0,        /* Output to switch port. */
>     OFPAT_COPY_TTL_OUT = 11, /* Copy TTL "outwards" -- from
> next-to-outermost
>                                 to outermost */
>     OFPAT_COPY_TTL_IN = 12,  /* Copy TTL "inwards" -- from outermost to
>                                 next-to-outermost */
>     OFPAT_SET_MPLS_TTL = 15, /* MPLS TTL */
>     OFPAT_DEC_MPLS_TTL = 16, /* Decrement MPLS TTL */
>     OFPAT_PUSH_VLAN = 17,    /* Push a new VLAN tag */
>     OFPAT_POP_VLAN = 18,     /* Pop the outer VLAN tag */
>     OFPAT_PUSH_MPLS = 19,    /* Push a new MPLS tag */
>     OFPAT_POP_MPLS = 20,     /* Pop the outer MPLS tag */
>     OFPAT_SET_QUEUE = 21,    /* Set queue id when outputting to a port */
>     OFPAT_GROUP = 22,        /* Apply group. */
>     OFPAT_SET_NW_TTL = 23,   /* IP TTL. */
>     OFPAT_DEC_NW_TTL = 24,   /* Decrement IP TTL. */
>     OFPAT_SET_FIELD = 25,    /* Set a header field using OXM TLV format. */
>     OFPAT_PUSH_PBB = 26,     /*Push a new PBB service tag (I-TAG) */
>     OFPAT_POP_PBB = 27,      /* Pop the outer PBB service tag (I-TAG) */
>     OFPAT_STRIP_GTP = 0xfffd,  /* Strip GTP to get inner payload.  */
>     OFPAT_ENCAP_GTP = 0xfffe,  /* Add external IP header, UDP header and
> GTP header */
>     OFPAT_EXPERIMENTER = 0xffff
> };
> but I try to support this in open Vswitch code. and I find there is one raw
> action structure named as ofp_raw_action_type (/lib/ofp-actions.c), defined
> as.
> 
> enum ofp_raw_action_type {
> /* ## ----------------- ## */
> /* ## Standard actions. ## */
> /* ## ----------------- ## */
> 
>     /* OF1.0(0): struct ofp10_action_output. */
>     OFPAT_RAW10_OUTPUT,
>     /* OF1.1+(0): struct ofp11_action_output. */
>     OFPAT_RAW11_OUTPUT,
> }
> 
> now I need to add Raw enum constants for these 2 new actions (STRIP_GTP and
> ENCAP_GTP) in this structure. we have same structures for these 2 new
> actions across all openflow versions. but facing issue in defining comment
> line before these constants.
> /* OF1.0(0): struct ofp10_action_output. */
> here, OF->for standard open flow actions
> 1.0->openflow protocol version
> (0)->action type number in specification
> struct ofp10_action_output -> corresponding structure for this action.
> 
> Here, I m facing issue in defining these comments since these two new
> actions are not standard openflow actions. these are vendor actions. then
> how to write the comments for these new actions.

Did you read the large comment just above enum ofp_raw_action_type?  It
has lots of information.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to