From 75b1e7db47d6e6bc3baa28aff77187f504bd20df Mon Sep 17 00:00:00 2001 From: fumingwei Date: Thu, 3 Dec 2020 16:53:34 +0600 Subject: [PATCH] add fake promisc setup scripts for tera mac-flipping. --- roles/sapp/files/tera_fake_promisc_setup.conf | 2 ++ roles/sapp/files/tera_fake_promisc_setup.sh | 4 ++++ roles/sapp/tasks/main.yml | 17 ++++++++++++++++- roles/sapp/templates/sapp.toml.j2 | 2 ++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 roles/sapp/files/tera_fake_promisc_setup.conf create mode 100755 roles/sapp/files/tera_fake_promisc_setup.sh diff --git a/roles/sapp/files/tera_fake_promisc_setup.conf b/roles/sapp/files/tera_fake_promisc_setup.conf new file mode 100644 index 0000000..f505012 --- /dev/null +++ b/roles/sapp/files/tera_fake_promisc_setup.conf @@ -0,0 +1,2 @@ +[Service] +ExecStartPre=/bin/bash tera_fake_promisc_setup.sh diff --git a/roles/sapp/files/tera_fake_promisc_setup.sh b/roles/sapp/files/tera_fake_promisc_setup.sh new file mode 100755 index 0000000..4e8665a --- /dev/null +++ b/roles/sapp/files/tera_fake_promisc_setup.sh @@ -0,0 +1,4 @@ +set -ex +dp_adapter_ether_addr=$(ifconfig ens1f2 | grep ether | awk '{print $2}') +bpf_rule="ether dst $dp_adapter_ether_addr or ether dst 02:42:c0:a8:fd:03 or ether dst 02:42:c0:a8:fd:83 or ether dst 02:42:c0:a8:fd:82" +sed -i "/BSD_packet_filter=/s/=.*/=\"$bpf_rule\"/" etc/sapp.toml diff --git a/roles/sapp/tasks/main.yml b/roles/sapp/tasks/main.yml index 09bc5d2..130d7ba 100644 --- a/roles/sapp/tasks/main.yml +++ b/roles/sapp/tasks/main.yml @@ -69,7 +69,8 @@ src: "{{ role_path }}/templates/vlan_flipping_map.conf.j2" dest: /home/mesasoft/sapp_run/etc/vlan_flipping_map.conf when: tsg_access_type == 2 - + + - name: "Template sapp.service destination server" template: src: "{{ role_path }}/templates/sapp.service.j2" @@ -82,6 +83,20 @@ dest: /etc/systemd/system/sapp.service.d/ mode: 0644 +- name: "copy fake promisc tools for tera mode - service file" + copy: + src: "{{ role_path }}/files/tera_fake_promisc_setup.conf" + dest: /etc/systemd/system/sapp.service.d/ + mode: 0644 + when: tsg_access_type == 2 + +- name: "copy fake promisc tools for tera mode - scripts" + copy: + src: "{{ role_path }}/files/tera_fake_promisc_setup.sh" + dest: /home/mesasoft/sapp_run/tera_fake_promisc_setup.sh + mode: 0755 + when: tsg_access_type == 2 + - name: "enable sapp" systemd: name: sapp diff --git a/roles/sapp/templates/sapp.toml.j2 b/roles/sapp/templates/sapp.toml.j2 index 75b55b2..03a0bf6 100644 --- a/roles/sapp/templates/sapp.toml.j2 +++ b/roles/sapp/templates/sapp.toml.j2 @@ -39,6 +39,8 @@ dictator_enable=0 asymmetric_presence_layer_cfg_file="etc/asymmetric_presence_layer.conf" asymmetric_addr_layer_cfg_file="etc/asymmetric_addr_layer.conf" prune_inject_layer_cfg_file="etc/prune_inject_layer.conf" + + [packet_io.feature] {% if tsg_access_type == 4 %} ### note, used to represent inbound or outbound direction value,