Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prevent Profile Creation for Invalid Cable Length #2

Open
wants to merge 20 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
0abfe00
[SWSS:portsorch] fix child_ports checking in addLagMember and removeL…
baorliu Feb 24, 2025
82632ea
Added Change to Skip Route Programming if NH is link/oper down (#3520)
abdosi Feb 24, 2025
3a80d64
Set Port UPDATE_DSCP attribute when TC_TO_DSCP map is attached (#3517)
kperumalbfn Feb 24, 2025
887e3a5
Add appliance entry validation (#3494)
mukeshmv Feb 27, 2025
8c778bf
[smartswitch] Add support for ENI Based Forwarding (#3398)
vivekrnv Feb 27, 2025
a0fcac9
Initialize Port oper error map only once (#3538)
prgeor Mar 3, 2025
1b2a8e6
[copp]: Use non-zero trap priority for default trap group (#3502)
prabhataravind Mar 3, 2025
7a965ca
Optimize counter initialization by reducing the number of bulk counte…
stephenxs Mar 4, 2025
74e9e63
Prevent lossless profile creation for 0m cable
jianyuewu Feb 24, 2025
3494eae
Keep PGs, remove losslesss profiles when 0m cable
jianyuewu Mar 5, 2025
439ac82
Remove unnecessary prints and refactor UT
jianyuewu Mar 5, 2025
6a93999
Update log level to info
jianyuewu Mar 7, 2025
4b0bb1c
Merge branch 'master' into skip_0m_profile
jianyuewu Mar 7, 2025
8447919
Update test_macsec.py (#3549)
Pterosaur Mar 10, 2025
da18966
[MCLAG] Fix a race condition when moving MAC addresses to MCLAG peer …
puffc Mar 10, 2025
8398865
Update gitignore for fabricmgrd, stpmgrd, and the p4orch_tests binari…
theasianpianist Mar 11, 2025
ae4789c
Use software_bfd instead of switch_type. (#3525)
dypet Mar 11, 2025
92be63e
Merge branch 'master' into skip_0m_profile
jianyuewu Mar 12, 2025
a07838d
[orchagent] Do not restore port admin if port admin is configured (#3…
PJHsieh Mar 12, 2025
f763d20
Merge branch 'master' into skip_0m_profile
jianyuewu Mar 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[smartswitch] Add support for ENI Based Forwarding (sonic-net#3398)
* [smartswitch] Add support for ENI Based Forwarding
HLD: sonic-net/SONiC#1842
Requires sonic-net/sonic-swss-common#976
Add DashEniFwdOrch which installs ACL rules to Redirect the DASH packet to corresponding DPU
vivekrnv authored Feb 27, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 8c778bfb31556e31bc4bbfb81095d16b3aa5e61a
2 changes: 2 additions & 0 deletions orchagent/Makefile.am
Original file line number Diff line number Diff line change
@@ -107,6 +107,8 @@ orchagent_SOURCES = \
response_publisher.cpp \
nvgreorch.cpp \
zmqorch.cpp \
dash/dashenifwdorch.cpp \
dash/dashenifwdinfo.cpp \
dash/dashorch.cpp \
dash/dashrouteorch.cpp \
dash/dashvnetorch.cpp \
12 changes: 12 additions & 0 deletions orchagent/aclorch.cpp
Original file line number Diff line number Diff line change
@@ -51,6 +51,8 @@ extern Directory<Orch*> gDirectory;

const int TCP_PROTOCOL_NUM = 6; // TCP protocol number

#define MAC_EXACT_MATCH "ff:ff:ff:ff:ff:ff"

acl_rule_attr_lookup_t aclMatchLookup =
{
{ MATCH_IN_PORTS, SAI_ACL_ENTRY_ATTR_FIELD_IN_PORTS },
@@ -79,6 +81,8 @@ acl_rule_attr_lookup_t aclMatchLookup =
{ MATCH_TUNNEL_VNI, SAI_ACL_ENTRY_ATTR_FIELD_TUNNEL_VNI },
{ MATCH_INNER_ETHER_TYPE, SAI_ACL_ENTRY_ATTR_FIELD_INNER_ETHER_TYPE },
{ MATCH_INNER_IP_PROTOCOL, SAI_ACL_ENTRY_ATTR_FIELD_INNER_IP_PROTOCOL },
{ MATCH_INNER_SRC_MAC, SAI_ACL_ENTRY_ATTR_FIELD_INNER_SRC_MAC },
{ MATCH_INNER_DST_MAC, SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_MAC },
{ MATCH_INNER_L4_SRC_PORT, SAI_ACL_ENTRY_ATTR_FIELD_INNER_L4_SRC_PORT },
{ MATCH_INNER_L4_DST_PORT, SAI_ACL_ENTRY_ATTR_FIELD_INNER_L4_DST_PORT },
{ MATCH_BTH_OPCODE, SAI_ACL_ENTRY_ATTR_FIELD_BTH_OPCODE},
@@ -648,6 +652,7 @@ void AclRule::TunnelNH::clear()
vxlan_orch->removeNextHopTunnel(tunnel_name, endpoint_ip, mac, vni);
}


string AclTableType::getName() const
{
return m_name;
@@ -908,6 +913,13 @@ bool AclRule::validateAddMatch(string attr_name, string attr_value)
{
matchData.data.booldata = (attr_name == "true");
}
else if (attr_name == MATCH_INNER_DST_MAC || attr_name == MATCH_INNER_SRC_MAC)
{
swss::MacAddress mac(attr_value);
swss::MacAddress mask(MAC_EXACT_MATCH);
memcpy(matchData.data.mac, mac.getMac(), sizeof(sai_mac_t));
memcpy(matchData.mask.mac, mask.getMac(), sizeof(sai_mac_t));
}
else if (attr_name == MATCH_IN_PORTS)
{
auto ports = tokenize(attr_value, ',');
2 changes: 2 additions & 0 deletions orchagent/aclorch.h
Original file line number Diff line number Diff line change
@@ -51,6 +51,8 @@
#define MATCH_INNER_IP_PROTOCOL "INNER_IP_PROTOCOL"
#define MATCH_INNER_L4_SRC_PORT "INNER_L4_SRC_PORT"
#define MATCH_INNER_L4_DST_PORT "INNER_L4_DST_PORT"
#define MATCH_INNER_SRC_MAC "INNER_SRC_MAC"
#define MATCH_INNER_DST_MAC "INNER_DST_MAC"
#define MATCH_BTH_OPCODE "BTH_OPCODE"
#define MATCH_AETH_SYNDROME "AETH_SYNDROME"
#define MATCH_TUNNEL_TERM "TUNNEL_TERM"
Loading