[SEBA-842] Doubletagging DHCP packets going to VOLTHA
Change-Id: I8e7d2af217228e96dcdc3bc94318b5e29b71f676
diff --git a/internal/bbsim/packetHandlers/packet_tags.go b/internal/bbsim/packetHandlers/packet_tags.go
index 3e31e3c..ebcb96c 100644
--- a/internal/bbsim/packetHandlers/packet_tags.go
+++ b/internal/bbsim/packetHandlers/packet_tags.go
@@ -57,6 +57,20 @@
return nil, errors.New("Couldn't extract LayerTypeEthernet from packet")
}
+func PushDoubleTag(stag int, ctag int, pkt gopacket.Packet) (gopacket.Packet, error) {
+
+ singleTaggedPkt, err := PushSingleTag(ctag, pkt)
+ if err != nil {
+ return nil, err
+ }
+ doubleTaggedPkt, err := PushSingleTag(stag, singleTaggedPkt)
+ if err != nil {
+ return nil, err
+ }
+
+ return doubleTaggedPkt, nil
+}
+
func PopSingleTag(pkt gopacket.Packet) (gopacket.Packet, error) {
layer, err := getDot1QLayer(pkt)
if err != nil {
@@ -114,7 +128,7 @@
return nil, errors.New("no-dot1q-layer-in-packet")
}
-func getVlanTag(pkt gopacket.Packet) (uint16, error) {
+func GetVlanTag(pkt gopacket.Packet) (uint16, error) {
dot1q, err := getDot1QLayer(pkt)
if err != nil {
return 0, err