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

ipv6 route with fragment flag attributes is not added to peer #1102

Closed
enag11 opened this issue Jun 16, 2022 · 3 comments
Closed

ipv6 route with fragment flag attributes is not added to peer #1102

enag11 opened this issue Jun 16, 2022 · 3 comments
Assignees

Comments

@enag11
Copy link

enag11 commented Jun 16, 2022

Using 4.2.18

Announcing the following ipv6 route and adding to and exabgp4 peer and an IOS/XR router

announce_flow_1 = 'announce flow route { match { source beef:f00e::/64; destination 2a02:29b8:1925::2e69/128; protocol tcp;  fragment [first-fragment is-fragment last-fragment ]; } } '

The exabgp4 announcing the route shows

17:17:59 | 21960  | process       | command from process announce-routes : announce flow route { match { source beef:f00e::/64; destination 2a02:29b8:1925::2e69/128; protocol tcp;  fragment [first-fragment is-fragment last-fragment ]; } }
17:17:59 | 21960  | reactor       | async | announce-routes | announce flow route { match { source beef:f00e::/64; destination 2a02:29b8:1925::2e69/128; protocol tcp; fragment [ first-fragment is-fragment last-fragment ]; } }
17:17:59 | 21960  | configuration | > route            |
17:17:59 | 21960  | configuration | > match            |
17:17:59 | 21960  | configuration | . source           | 'beef:f00e::/64'
17:17:59 | 21960  | configuration | . destination      | '2a02:29b8:1925::2e69/128'
17:17:59 | 21960  | configuration | . protocol         | 'tcp'
17:17:59 | 21960  | configuration | . fragment         | '[' 'first-fragment' 'is-fragment' 'last-fragment' ']'
17:17:59 | 21960  | configuration | < match            |
17:17:59 | 21960  | configuration | < route            |
17:17:59 | 21960  | api           | flow added to neighbor 198.18.18.114 local-ip 198.18.18.170 local-as 100 peer-as 100 router-id 198.18.18.170 family-allowed in-open, neighbor 198.18.18.90 local-ip 198.18.18.170 local-as 100 peer-as 100 router-id 198.18.18.170 family-allowed in-open : flow destination-ipv6 2a02:29b8:1925::2e69/128/0 source-ipv6 beef:f00e::/64/0 protocol =tcp fragment [ first-fragment is-fragment last-fragment ]
17:17:59 | 21960  | outgoing-1    | sending TCP payload (  86) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0056 0200 0000 3F40 0101 0040 0200 4005 0400 0000 6480 0E2E 0002 8500 0028 0180 002A 0229 B819 2500 0000 0000 0000 002E 6902 4000 BEEF F00E 0000 0000 0381 060C 0004 0002 8008
17:17:59 | 21960  | outgoing-1    | >> 1 UPDATE(s)
17:17:59 | 21960  | outgoing-1    | sending TCP payload (  86) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0056 0200 0000 3F40 0101 0040 0200 4005 0400 0000 6480 0E2E 0002 8500 0028 0180 002A 0229 B819 2500 0000 0000 0000 002E 6902 4000 BEEF F00E 0000 0000 0381 060C 0004 0002 8008
17:17:59 | 21960  | outgoing-1    | >> 1 UPDATE(s)

The IOS/XR adds the route

*>iDest:2a02:29b8:1925::2e69/0-128,Source:beef:f00e::/0-64,NH:=6,Frag:~FF|~IsF|~LF/320

The exabgp4 peer log shows the following

17:17:59 | 21648  | incoming-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0056 02
17:17:59 | 21648  | incoming-1    | received complete TCP payload (  67) 0000 003F 4001 0100 4002 0040 0504 0000 0064 800E 2E00 0285 0000 2801 8000 2A02 29B8 1925 0000 0000 0000 0000 2E69 0240 00BE EFF0 0E00 0000 0003 8106 0C00 0400 0280 08
17:17:59 | 21648  | incoming-1    | << message of type UPDATE
17:17:59 | 21648  | parser        | parsing UPDATE (  67) 0000 003F 4001 0100 4002 0040 0504 0000 0064 800E 2E00 0285 0000 2801 8000 2A02 29B8 1925 0000 0000 0000 0000 2E69 0240 00BE EFF0 0E00 0000 0003 8106 0C00 0400 0280 08
17:17:59 | 21648  | routes        | withdrawn NLRI none
17:17:59 | 21648  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
17:17:59 | 21648  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
17:17:59 | 21648  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
17:17:59 | 21648  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x2e payload 0002 8500 0028 0180 002A 0229 B819 2500 0000 0000 0000 002E 6902 4000 BEEF F00E 0000 0000 0381 060C 0004 0002 8008
17:17:59 | 21648  | parser        | NLRI      ipv6 flow          without path-information     payload 2801 8000 2A02 29B8 1925 0000 0000 0000 0000 2E69 0240 00BE EFF0 0E00 0000 0003 8106 0C00 0400 0280 08
17:17:59 | 21648  | routes        | announced NLRI none
17:17:59 | 21648  | parser        | decoded UPDATE (   0) json { "exabgp": "4.0.1", "time": 1655399879.384409, "host" : "afx-exabgp41", "pid" : 21648, "ppid" : 21647, "counter": 1, "type": "update", "neighbor": { "address": { "local": "198.18.18.114", "peer": "198.18.18.170" }, "asn": { "local": 100, "peer": 100 } , "direction": "in", "message": { "update": { "attribute": { "origin": "igp", "local-preference": 100 } } } } }
17:17:59 | 21648  | peer-1        | << UPDATE #9
@enag11 enag11 added the bug label Jun 16, 2022
thomas-mangin added a commit that referenced this issue Jun 16, 2022
thomas-mangin added a commit that referenced this issue Jun 16, 2022
@thomas-mangin
Copy link
Member

This should be fixed but I will let it open as RFC 8956 was not finalised when I wrote the Ipv6 support and it seems that I need to review it and look at 3.3 (Type 3 - Upper-Layer Protocol) and perhaps other too.

@enag11
Copy link
Author

enag11 commented Jun 17, 2022

Thanks, I will try the fix

@enag11
Copy link
Author

enag11 commented Jul 7, 2022

The fix looks good. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants