mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-09 14:26:10 +02:00
Add OF1.4 PushVlan action support
Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
7ab4ce13b5
commit
281be18dcc
@ -2362,6 +2362,35 @@ class OFPActionCopyTtlIn(OFPAction):
|
||||
return cls()
|
||||
|
||||
|
||||
@OFPAction.register_action_type(ofproto.OFPAT_PUSH_VLAN,
|
||||
ofproto.OFP_ACTION_PUSH_SIZE)
|
||||
class OFPActionPushVlan(OFPAction):
|
||||
"""
|
||||
Push VLAN action
|
||||
|
||||
This action pushes a new VLAN tag to the packet.
|
||||
|
||||
================ ======================================================
|
||||
Attribute Description
|
||||
================ ======================================================
|
||||
ethertype Ether type
|
||||
================ ======================================================
|
||||
"""
|
||||
def __init__(self, ethertype, type_=None, len_=None):
|
||||
super(OFPActionPushVlan, self).__init__()
|
||||
self.ethertype = ethertype
|
||||
|
||||
@classmethod
|
||||
def parser(cls, buf, offset):
|
||||
(type_, len_, ethertype) = struct.unpack_from(
|
||||
ofproto.OFP_ACTION_PUSH_PACK_STR, buf, offset)
|
||||
return cls(ethertype)
|
||||
|
||||
def serialize(self, buf, offset):
|
||||
msg_pack_into(ofproto.OFP_ACTION_PUSH_PACK_STR, buf, offset,
|
||||
self.type, self.len, self.ethertype)
|
||||
|
||||
|
||||
@OFPAction.register_action_type(ofproto.OFPAT_PUSH_MPLS,
|
||||
ofproto.OFP_ACTION_PUSH_SIZE)
|
||||
class OFPActionPushMpls(OFPAction):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user