- Today
- Total
목록분류 전체보기 (158)
Byeo

이번에는 P4를 사용해서 ping을 성공시키는 작업을 진행해봅니다. https://github.com/p4lang/tutorials/tree/master/exercises/basic의 step 2와 같습니다. tutorials/exercises/basic at master · p4lang/tutorialsP4 language tutorials. Contribute to p4lang/tutorials development by creating an account on GitHub.github.com basic.p4의 todo를 채우러 가봅시다! 참고문서: https://p4.org/p4-spec/docs/P4-16-v1.2.0.html#sec-packet-parsing P4~16~ Language Spe..

P4 tutorial을 따라해보기 위해서 환경을 구성합니다. P4 tutorial GitHub repository: https://github.com/p4lang/tutorials/ GitHub - p4lang/tutorials: P4 language tutorialsP4 language tutorials. Contribute to p4lang/tutorials development by creating an account on GitHub.github.com P4 tutorial에는 P4 language를 사용하여 Basic forwarding / tunneling switch부터 calculator, LB(!!), stateful 까지 여러 주제들을 구현하는 과제를 제공합니다. 단, P4를 사용할 수..
설명은 나중에... #include #include #include #include #define CORE_NODE 2500#define SOURCE_NODE (CORE_NODE + 1)#define SINK_NODE (SOURCE_NODE + 1)#define MAX_NODE (SINK_NODE + 1)#define INF 999999using namespace std;vector graph[MAX_NODE];int flow[MAX_NODE][MAX_NODE];int n, m;int arr[50][50];int bfs(int src, int dst){ int parent[MAX_NODE], cur; queue q; memset(parent, -1, sizeof(parent)); q.push(src);..
우리는 앞선 포스트에서 3-way handshake의 1st packet을 서버가 수신한다면 어떤 코드를 거치는지 확인했습니다: https://byeo.tistory.com/entry/Listen-socket%EC%9D%98-TCP-SYN-%EC%B2%98%EB%A6%AC Listen socket의 TCP SYN 처리 1accept system call은 established된 connection에 대해서 fd를 할당해 userspace에게 제공합니다. 그러면 3-way handshake의 TCP_SYN은 누가 처리할까요? 한 번 그 과정을 알아봅니다. 단, tcp code만 살펴볼 예정이고,byeo.tistory.com 1st handshake: 서버는 SYN packet을 수신하면 tcp의 globa..

회사 동기들과 간 치악산 비로봉. 1,288m로 꽤나 높다. 단, 시작 지점은 약 400m 즈음으로 약 800m의 등산 난이도를 갖고 있다. 1. 치악산 국립공원 안내도 우리가 출발한 황골탐방지원센터는 경사도가 상당하다. 45도의 경사를 지닌 길을 약 30분 정도 계속 올라야 한다. 오른쪽 사진을 보면 감이 대략 온다.. 30분이 지났다고 끝이 아니다! 어느 사찰 같은 곳을 지나면 황골탐방로가 나오면서 다시 본격적인 등산이 시작된다. 4월 초인데 아직 나뭇잎이 나오지 않아 앙상하다.. 그렇다고 나뭇잎이 날 때에는 더워서 얼마 못 다닐 텐데 딜레마다! 2/3쯤 왔을 때이다. 원주가 한눈에 들어올 뻔했으나 안개 때문에 가시거리가 짧았다. 저 멀리 보이는 평지가 비로봉이 위치한 장소다! 2. 정상 ..

지금까지 tcp_conn_request() 함수의 6867줄까지 확인을 했습니다. 남은 6869줄부터 어떤 기능이 있을지 확인해봅니다. 현재까지의 흐름도입니다: 5. tcp_conn_request5-7. timestamp// net/ipv4/tcp_input.c/tcp_conn_request() :6869 if (tmp_opt.tstamp_ok) tcp_rsk(req)->ts_off = af_ops->init_ts_off(net, skb); af_ops는 tcp_request_sock_ipv4이고, init_ts_off 함수는 tcp_v4_init_ts_off입니다. // net/ipv4/tcp_ipv4.c/tcp_v4_init_ts_off() :102static u32 tcp_v4_init_ts..

accept system call은 established된 connection에 대해서 fd를 할당해 userspace에게 제공합니다. 그러면 3-way handshake의 TCP_SYN은 누가 처리할까요? 한 번 그 과정을 알아봅니다. 단, tcp code만 살펴볼 예정이고, device driver와 ip layer는 스킵합니다. 나중에 read system call에서 깊이 다루게 될 것 같습니다. ★ 이 로직은 application에 의해서 trigger되는 로직이 아닙니다! NIC이 packet을 수신하여 interrupt가 발생했고, device driver가 이를 처리하기 위해 trigger되는 로직(으로 예상을 하고있고, 나중에 read에서 확인할 예정)입니다! 1. tcp_v4_rcvtc..

대학 동기와 가는 오사카 여행, 일정은 자유롭게. 함께 하는 여행이라 일정에 협의가 필요하며, 이곳에는 간단한 내용만 적는다. 항공편 (인천 ~ 오사카 간사이) 2024.07.09 ~ 2024.07.13 출발편 (이스타항공 특가 93,300 원)도착편 (피치항공 190,278 원) 도착편이 저렴한지는 잘 모르겠으나, 회사 생활을 하다 보면 잊기 쉬워 미리 해둔다! 7/9 7/10 7/11 오사카 유니버셜 스튜디오 7/12 7/13

kernel function의 흐름이 모호할 때, ftrace가 도움을 줄 수 있습니다. ftrace 사용법을 정리해봅니다. kernel source code를 호스트에서 갖고 있고, 이를 qemu로 부팅합니다. linux 5.15입니다. 1. kernel configurationkernel configuration에서 FTRACE 관련 항목들의 설정을 확인합니다. CONFIG_FTRACE=y# CONFIG_BOOTTIME_TRACING is not setCONFIG_FUNCTION_TRACER=y available filter functions을 통해서 원하는 function만 tracing하도록 설정할 수 있습니다. 다른 설정들도 확인해서 필요한 값들도 있는지 확인합니다. (FTRACE 혹은 TRAC..

본 포스트는 sigcomm '21의 Revisiting the Open vSwitch Dataplane Ten Years Later를 요약하였습니다. 이전 포스트: https://byeo.tistory.com/entry/Revisiting-the-Open-vSwitch-Dataplane-Ten-Years-Later-2 Revisiting the Open vSwitch Dataplane Ten Years Later 2본 포스트는 sigcomm '21의 Revisiting the Open vSwitch Dataplane Ten Years Later를 요약하였습니다. 이전 포스트:https://byeo.tistory.com/entry/Revisiting-the-Open-vSwitch-Dataplane-Ten-..