On Wed, Nov 14, 2012 at 10:52 AM, Ansis Atteka <aatt...@nicira.com> wrote:

> On Tue, Nov 13, 2012 at 11:55 PM, Jesse Gross <je...@nicira.com> wrote:
> > On Tue, Nov 13, 2012 at 9:52 AM, Ansis Atteka <aatt...@nicira.com>
> wrote:
> >>
> >> diff --git a/datapath/datapath.c b/datapath/datapath.c
> >> index e359ac0..44828c6 100644
> >> --- a/datapath/datapath.c
> >> +++ b/datapath/datapath.c
> >> @@ -590,6 +590,7 @@ static int validate_set(const struct nlattr *a,
> >>         const struct ovs_key_ipv4_tunnel *tun_key;
> >>         const struct ovs_key_ipv6 *ipv6_key;
> >>
> >> +       case OVS_KEY_ATTR_SKB_MARK:
> >>         case OVS_KEY_ATTR_PRIORITY:
> >>         case OVS_KEY_ATTR_TUN_ID:
> >>         case OVS_KEY_ATTR_ETHERNET:
> >
> >
> > Father down in this file, in ovs_packet_cmd_execute(), we should also
> mark
> > the skb with anything that we receive in the metadata.
>
> Do you mean something like this in the ovs_packet_cmd_execute() function:
>
>         OVS_CB(packet)->flow = flow;
>         packet->priority = flow->key.phy.priority;
> +       packet->mark = flow->key.phy.mark;


Yes, that's right.


>  >
> > Can you also plumb skb_mark through userspace a little more?  We don't
> need
> > to be able to match on it using OpenFlow but internally we should be
> able to
> > store the value in the flow and translate to and from the kernel.  This
> > should be very similar to the code for skb_priority (excluding any logic
> > that is actually related to QoS priorities, of course).
>
> I guess you meant to add it to the struct flow in lib/flow.h, right?
>

Yes and then also the infrastructure in odp-util.c to convert between the
userspace version in lib/flow.h and the kernel Netlink attributes.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to