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.
please guide.

Regards,
Ajmer
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to