Skip to content

Commit

Permalink
[ebtbles] Replace binary config file to text config file for ebtables (
Browse files Browse the repository at this point in the history
…sonic-net#5252)

Issue: Binary ebtables config file is CPU arch dependent
Fix: Load the text config during firsttime boot and
     Generate the binary persistent atomic file

Signed-off-by: Antony Rheneus <[email protected]>
  • Loading branch information
antony-rheneus authored Sep 4, 2020
1 parent 47a925c commit f136fd0
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 1 deletion.
2 changes: 1 addition & 1 deletion build_debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ fi
sudo cp -f files/image_config/ebtables/ebtables.default $FILESYSTEM_ROOT/etc/default/ebtables
sudo cp -f files/image_config/ebtables/ebtables.init $FILESYSTEM_ROOT/etc/init.d/ebtables
sudo cp -f files/image_config/ebtables/ebtables.service $FILESYSTEM_ROOT/lib/systemd/system/ebtables.service
sudo cp files/image_config/ebtables/ebtables.filter ${FILESYSTEM_ROOT}/etc
sudo cp files/image_config/ebtables/ebtables.filter.cfg ${FILESYSTEM_ROOT}/etc
sudo LANG=C chroot $FILESYSTEM_ROOT update-alternatives --set ebtables /usr/sbin/ebtables-legacy
sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable ebtables.service

Expand Down
Binary file removed files/image_config/ebtables/ebtables.filter
Binary file not shown.
11 changes: 11 additions & 0 deletions files/image_config/ebtables/ebtables.filter.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# SONiC ebtables filter table configuration
# Generated using ebtables-save

*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A FORWARD -d BGA -j DROP
-A FORWARD -p ARP -j DROP
-A FORWARD -p 802_1Q --vlan-encap ARP -j DROP

10 changes: 10 additions & 0 deletions files/image_config/platform/rc.local
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,13 @@ program_console_speed()
systemctl daemon-reload
}

ebtables_config()
{
# Generate atomic config file and save it persistent
/usr/sbin/ebtables-restore < /etc/ebtables.filter.cfg
/usr/sbin/ebtables -t filter --atomic-file /etc/ebtables.filter --atomic-save
}

#### Begin Main Body ####

logger "SONiC version ${SONIC_VERSION} starting up..."
Expand Down Expand Up @@ -341,6 +348,9 @@ if [ -f $FIRST_BOOT_FILE ]; then
# Create dir where following scripts put their output files
mkdir -p /var/platform

# Firsttime ebtables configuration
ebtables_config

firsttime_exit
fi

Expand Down

0 comments on commit f136fd0

Please sign in to comment.