...
Configuration of the switch needs to be done modifying /etc/sonic/config_db.json. Here is the relevant portion for VLANS:
"VLAN": {
"Vlan3008": {
"members": [
"Ethernet20",
"Ethernet252"
],
"vlanid": "3008",
"admin_status": "up"
},
"Vlan3009": {
"members": [
"Ethernet20",
"Ethernet28",
"Ethernet36",
"Ethernet44"
],
"vlanid": "3009",
"admin_status": "up"
},
"Vlan3010": {
"members": [
"Ethernet16",
"Ethernet24",
"Ethernet32",
"Ethernet40"
],
"vlanid": "3010",
"admin_status": "up"
}
},
"VLAN_INTERFACE": {
"Vlan3008|10.11.8.2/24": {},
"Vlan3009|192.168.111.49/24": {},
"Vlan3010|172.22.0.99/24": {}
},
"VLAN_MEMBER": {
"Vlan3008|Ethernet20": {
"tagging_mode": "tagged"
},
"Vlan3008|Ethernet252": {
"tagging_mode": "tagged"
},
"Vlan3010|Ethernet16": {
"tagging_mode": "untagged"
},
"Vlan3010|Ethernet24": {
"tagging_mode": "untagged"
},
"Vlan3010|Ethernet32": {
"tagging_mode": "untagged"
},
"Vlan3010|Ethernet40": {
"tagging_mode": "untagged"
},
"Vlan3009|Ethernet20": {
"tagging_mode": "tagged"
},
"Vlan3009|Ethernet28": {
"tagging_mode": "untagged"
},
"Vlan3009|Ethernet36": {
"tagging_mode": "untagged"
},
"Vlan3009|Ethernet44": {
"tagging_mode": "untagged"
}
}
}
In order to make untagged vlans work on SONIC, the entries need to be created in VLAN section, but also the ports that are members of the VLAN need to be removed from the Interface section, and from the BGP Neighbor section.