aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/vnet.txt
Commit message (Collapse)AuthorAgeFilesLines
* sys/linux: fix vlang double tag constAleksandr Nogikh2024-01-031-1/+1
| | | | | Double tagging is used in 802.1ad, which is identified by TPID=0x88a8. We were using an incorrect const.
* sys/linux: regenerate consts, remove ipxDmitry Vyukov2021-10-131-46/+2
| | | | | | Regenerate const files on the latest upstream tree. Remove IPX support since it was removed from the kernel in 7a2e838d28 ("staging: ipx: delete it from the tree").
* sys: add mldv2 packet structsAndy Nguyen2020-04-291-4/+42
| | | | Use special values for hop limit to increase likelihood of triggering certain paths.
* sys: add more specific ipv6 optionsAndy Nguyen2020-04-291-2/+2
| | | | Additionally fix a type for ipv6_hopopts_ext_header
* pkg/compiler: refactor attribute handlingDmitry Vyukov2020-04-191-15/+15
| | | | | | | | | | | | Introduce common infrastructure for describing and parsing attribute instead of custom per-attribute code scattered across several locations. Change align attribute syntax from the weird align_N to align[N]. This also allows to use literal constants as N. Introduce notion of builtin constants. Currently we have only PTR_SIZE, which is needed to replace align_ptr with align[PTR_SIZE].
* sys/linux: add some more ipv4/6 addressesDmitry Vyukov2020-04-141-9/+27
| | | | Add few private ipv4/6 addresses that may affect kernel behavior.
* sys/linux: add descriptions of wireguard packetsDmitry Vyukov2020-02-181-4/+10
|
* sys/linux: add broadcast mac addressDmitry Vyukov2020-02-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | Code in net/ethernet/eth.c does this: __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev) { ... if (unlikely(!ether_addr_equal_64bits(eth->h_dest, dev->dev_addr))) { if (unlikely(is_multicast_ether_addr_64bits(eth->h_dest))) { if (ether_addr_equal_64bits(eth->h_dest, dev->broadcast)) skb->pkt_type = PACKET_BROADCAST; else skb->pkt_type = PACKET_MULTICAST; } else { skb->pkt_type = PACKET_OTHERHOST; } } Multicast and broadcast are distinct and dev->broadcast seems to be ffffffffffff by default, so add another multicast mac address that will serve as PACKET_MULTICAST.
* sys/linux: dump netdev_addr_id for wg2Dmitry Vyukov2020-02-101-1/+1
| | | | | Commit "wireguard: use wg0, wg1, wg2" added wg2, bump netdev_addr_id accordingly.
* sys/linux: add some wireguard descriptionsDmitry Vyukov2020-01-311-1/+1
| | | | Update #806
* sys/linux: add more device descriptions (geneve, lowpan, ipoib, cfhsi)Dmitry Vyukov2020-01-191-1/+1
|
* sys/linux: add some batadv descriptionsDmitry Vyukov2020-01-181-1/+1
|
* executor: create macvtap, macsec devicesDmitry Vyukov2020-01-181-1/+1
|
* pkg/compiler: don't mark flags with 0 as bitmaskDmitry Vyukov2020-01-181-1/+1
| | | | | | | They can't be a bitmask. This fixes important cases of "0, 1" and "0, 1, 2" flags. Fix some descriptions that added 0 to bitmasks explicitly (we should do it automatically instead).
* executor: setup vlan/macvlan/ipvlan devicesDmitry Vyukov2020-01-031-1/+1
|
* executor: connect virt_wifi to vethDmitry Vyukov2020-01-031-1/+1
| | | | | | virt_wifi docs say that the enslaved device won't be usable on itself. It's probably not a good idea to make lo unusable. Enslave a dedicated veth instead.
* sys/linux: add netlabel descriptionsDmitry Vyukov2020-01-031-3/+4
|
* sys/linux: improve ipv4/ipv6 vnet descriptionsDmitry Vyukov2020-01-031-116/+81
| | | | | | | | | | | | 1. Use optional[T] instead of array[T, 0:1]. 2. Deduplicate 3 copies of ARP packet. 3. Deduplicate IPOPT_LSRR/IPOPT_SSRR/IPOPT_RR. 4. More precise description of IPOPT_TIMESTAMP/IPOPT_LSRR/IPOPT_SSRR/IPOPT_RR. 5. Don't use IPOPT_END/IPOPT_NOOP in generic option (they have different format). 6. Restrict cipso doi values. 7. Fix IPOPT_RA value type (int16 instead of int32). 8. Match ipv4/ipv6 packet type with payload. 9. Prefer 0 frag_off for ipv4 packets (they are extremely hard to get right).
* sys/linux: add virt_wifi and xfrm devicesDmitry Vyukov2019-12-301-1/+1
| | | | + some netlink descriptions
* sys/linux: fix warnings in template definitionDmitry Vyukov2019-12-221-2/+2
| | | | Update #590
* sys/linux: another batch of warning fixesDmitry Vyukov2019-12-221-6/+14
| | | | | | The only remaining part now is dev_video4linux.txt Update #590
* sys/linux: update mpls_lable and rta typesHangbin Liu2019-06-261-4/+3
| | | | | | | | | | | | | | Kernel get mpls lable like ``` unsigned entry = be32_to_cpu(hdr->label_stack_entry); result.label = (entry & MPLS_LS_LABEL_MASK) >> MPLS_LS_LABEL_SHIFT; ``` So we just need to store the label in big endian order. For mpls rta types, kernel accpet only one lable for RTA_DST and multi labels for RTA_NEWDST. Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
* sys/linux: add NDISC packet formats to vnet.txtDan Robertson2019-02-111-0/+70
| | | | Add the basic NDISC (RFC 4861) packet formats to sys/linux/vnet.txt.
* sys/linux: fix up mptcp descriptionsDmitry Vyukov2019-01-251-3/+0
| | | | | | | 1. Generate .const files for all arches. 2. Don't extract mptcp consts on android. 3. Remove mptcp includes from vnet.txt. 4. Enable CONFIG_MPTCP in syz-extract (mptcp is not like all other kernel headers).
* sys/linux: add Multipath TCP description8litz2019-01-251-0/+4
| | | https://tools.ietf.org/html/rfc6824
* sys/linux: update TODO commentsDmitry Vyukov2019-01-241-2/+0
| | | | | | Change TODO comments that refer to missing description language features to NEED comments as that it's easier to grep for them. Remove some outdated comments. Fix 2 easy fixable TODOs.
* sys/linux: add rand_addr option to ipv6_addr unionShankara Pailoor2019-01-101-0/+1
| | | | | | | rand_addr option is the first option for the ipv6_addr union and is just an array of 16 bytes. This option makes it easy for trace2syz to convert ipv6 address as strace decodes the ipv6 address as a hex string.
* executor: create more net devices on linuxDmitry Vyukov2018-12-261-1/+1
|
* sys/linux: extend AX25/ROSE/NETROM descriptionsDmitry Vyukov2018-12-241-0/+17
|
* sys/linux: add basic tipc testDmitry Vyukov2018-12-121-0/+5
|
* sys/linux: add AF_TIPC netlink interface and packet formatsDmitry Vyukov2018-12-091-2/+136
|
* removing trace2syz constants and moving rand_addr as the first ipv4_addr optionShankara Pailoor2018-11-301-2/+2
|
* pkg/compiler: check for unused declarationsDmitry Vyukov2018-06-301-1/+2
| | | | | Error on unused structs/unions/resources/flags. Finds tons of bugs.
* sys/linux: fix duplicate field in structDmitry Vyukov2018-05-171-1/+1
|
* executor: add two slave interfaces for bridge,bond,teamHangbin Liu2018-04-131-1/+1
| | | | | | | | Bridge device is used for forwarding. Bond/team device is used for load balance and fail over. So it would make more sense to add two slave interfaces for these devices. Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
* executor: create team deviceDmitry Vyukov2018-04-061-3/+6
|
* sys/linux: add guehdr for udp packetsDmitry Vyukov2018-03-211-0/+19
|
* all: fix gometalinter warningsDmitry Vyukov2018-03-081-1/+1
| | | | Fix typos, non-canonical code, remove dead code, etc.
* sys/linux: few assorted additionsDmitry Vyukov2018-02-261-1/+49
|
* sys/linux: remove proc type from network descriptionsDmitry Vyukov2018-02-261-12/+10
| | | | | | | | | | We now always create net namespace for testing, so socket ports and other IDs do not overlap between different test processes. Proc types play badly with squashing packets to ANYBLOB. To squash into a block we need concrete value, but it depends on process id. Removing proc also makes tun setup and address descriptions simpler.
* sys/linux: make tcp_seq_num asymmetricDmitry Vyukov2018-02-261-1/+1
| | | | | | Currently it's 0x42424242 so it's not possible to understand the value endianess in hints code. Make it assymmetric so that endinaness is clear.
* prog: add arbitrary mutation of complex structsDmitry Vyukov2018-02-251-2/+2
| | | | | | Squash complex structs into flat byte array and mutate this array with generic blob mutations. This allows to mutate what we currently consider as paddings and add/remove paddings from structs, etc.
* executor: bring up bond and veth devicesDmitry Vyukov2018-02-221-1/+1
|
* sys/linux: add few ip and tcp optionsDmitry Vyukov2018-02-221-8/+40
|
* sys/linux: fixes for network descriptionsDmitry Vyukov2018-02-171-2/+5
| | | | | | | 1. Fix connlimit netfilter match version. 2. Fix xt_time_info layout. 3. Introduce mac_addr_mask type. 4. Limit vlan id's for better matches between them.
* sys/linux: improve netfilter descriptionsDmitry Vyukov2018-02-091-0/+1
| | | | | | | | | | | | | | | | Put the underflow entry at the end. Entries must end on an unconditional, non-goto entry, otherwise fallthrough from the last entry is invalid. Add arp tables support. Split unspec matches/targets to unspec and inet. Reset ipv6 and arp tables in executor. Fix number of counters in tables. Plus a bunch of assorted fixes for matches/targets.
* sys/linux: extend netfilter descriptionsDmitry Vyukov2018-01-271-3/+9
|
* sys/linux: add IPPROTO_L2TP to vnet protosDmitry Vyukov2018-01-241-2/+3
|
* sys/linux: add netfilter descriptionsDmitry Vyukov2018-01-221-0/+3
| | | | Lots of TODOs and only ipv4, but some start.
* sys/linux: generate GRE v0 packets even with incorrect payloadDmitry Vyukov2018-01-151-4/+5
|